我在另一个函数中有一个 pcap_loop 函数,它捕获数据包直到用户停止它,即
void functionA()
{
signal(SIGINT, terminate_process);
pcap_loop(handle, -1, callback, NULL);
...
}
void terminate_process(int signum)
{
pcap_breakloop(handle);
pcap_close(handle);
}
是否可以设置捕获数据包的持续时间?就像是:
if (time(NULL) - start_time > 100)
pcap_breakloop(handle);
但我不知道把它放在哪里,因为到目前为止我看到的所有示例都在信号处理程序中使用 pcap_breakloop,这需要用户干预。pcap_loop 运行时如何检查时间条件?
谢谢你。
问候,雷恩