首先用signal函数定义一个信号,在信号处理函数中调用pcap_breakloop函数停止捕获数据包。http://bbs.linuxeden.com/thread-145162-1-1.html 给你一个参考
pcap_loop (pd, 100, process_pkg, (u_char*)&conf);第二个参数100,决定了抓取100个包时就停止了。如果是要持续抓包,则应使用-1参数。如果是希望有一个等待时间,则应该使用pcap_ dispatch()函数,read_timeout是抓包的持续时间。
1 #pragma pack (1)//字节对齐的控制!非常注意! 2 //定义一个以太网头部 3 typedef struct e...
void functionA() { signal(SIGALRM, terminate_process); alarm(100); } ...