关于pcap文件的文件解析网上资料有很多,我在这就不说明了
心得一:wireshark Runtime Error
一般来说,wireshark不适合长时间捕获包,也就是随着时间增长,总会报出上述错误,一般如下:
因为wireshark将数据一直放在内存,所以随着捕包时间的增长,就会报出内存溢出的错误,貌似是不释放内存的。。。这是wireshark的一个bug
心得二:多文件捕获
顺着这个思路,很容易想到的就是将捕获的数据存成多个文件,那么你将使用如下设置:
具体操作可参见博客http://www.cnblogs.com/caoguoping100/p/3658792.html
除了最后一个命令我认为说的不对,其他这篇博客讲的还是很清楚的。
然而并没有解决问题,因为...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解决问题。