2014-01-19 59 views
1

我想用C++编写一个程序来读取一个pcap文件,并获取数据包的信息,比如len,sourc ip,flags等。现在我发现了如下的代码,我认为它会帮助我获取信息,但我有一些问题:首先我需要 我想知道应该将哪个库添加到我的程序中,然后pcap_next是什么,以及如何从pcap文件获取句柄?如何读取C++中的pcap文件以获取数据包信息?

/* Grab a packet */ 
packet = pcap_next(handle, &header); 
if (packet == NULL) { /* End of file */ 
    break; 
} 
printf ("Got a packet with length of [%d] \n", 
     header.len); 

回答

4

您需要将您的应用程序链接到libpcap。要得到一个句柄,你应该使用pcap_open_offlinepcap_next从句柄中读取下一个数据包。

+0

感谢您的有用链接,我还有一个问题。我可以通过“标题”获得哪些数据包的其他信息,以及如何编写“header.source ip”或“header.flag”? – user3210586

+0

@ user3210586:我不知道。我只知道这些函数来自libpcap并简要地查看了手册页。如果你更彻底地查看它们,你可能能够找到你正在寻找的东西。 – icktoofay

+0

是的,我认为你是对的,再次感谢你的帮助。 – user3210586

相关问题