2014-01-19 57 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

相關問題