關於pcap文件的文件解析網上資料有很多,我在這就不說明了
心得一:wireshark Runtime Error
一般來說,wireshark不適合長時間捕獲包,也就是隨着時間增長,總會報出上述錯誤,一般如下:
因為wireshark將數據一直放在內存,所以隨着捕包時間的增長,就會報出內存溢出的錯誤,貌似是不釋放內存的。。。這是wireshark的一個bug
心得二:多文件捕獲
順着這個思路,很容易想到的就是將捕獲的數據存成多個文件,那么你將使用如下設置:
然而並沒有解決問題,因為...wireshark依然沒有釋放內存。
感興趣的可仔細閱讀下:https://wiki.wireshark.org/KnownBugs/OutOfMemory
心得三:windump的使用
既然上述都行不通,那就用tcpdump這個好用的工具吧,但是由於服務器是windows的,所以只能選擇具有windows下的tcpdump之稱的windump,然而,我發現丟包...而且特別嚴重。好,你問我怎么知道,在
中,有個capture length是捕獲包長度,明顯比包長度小很多。
我也不知道為什么。。。。所以只能不用這個工具了。
心得四:dumpcap命令使用
解決問題是從這個里面看到的,https://blog.packet-foo.com/2013/05/the-notorious-wireshark-out-of-memory-problem/,當然前面提到的那個博客園的鏈接也有寫。
wireshark其實調用的就是dumpcap命令,而且這個默認在wireshark安裝的時候就存在,所以很方便啦,具體使用可以
dumpcap -h #幫助命令
值得一提的是,默認dumpcap默認保存是pcapng格式,跟pcap格式不一樣,如果想要保存的文件是pcap格式的,那需要指定 -P參數。 dumpcap -i 2 -f "dst port 80" -w D:\capture\6-2.pcap -b filesize:65536 -P 以上,最后一個dumpcap解決問題。