关于linux:如何在c中处理tcpdump输出

how to process tcpdump outputs in c

我正在尝试编写C代码以使tcpdump在我的程序处于活动状态时运行,然后实时将tcpdump输出输出到我的代码中以进行进一步处理。我正在捕获非常具体的流量(我已经能够在cmd中实现此目的),并且我想将捕获到的每个数据包的信息实时获取到我的代码中,以便对其进行处理。期望我捕获的这些数据包每10-20秒出现一次,这意味着我需要运行tcpdump,并且每10-20秒我就将信息放入代码中并进行处理。

请问如何做到这一点?


如果要实时分析捕获的数据包,则不应运行和解析tcpdump输出,而应直接使用基础API /库:libpcap。

请参阅http://www.tcpdump.org/pcap.html