Wireshark高负载下的性能优化


简介

Wireshark 并未为性能所特地优化,主要是为了初学者和流量分析工程师分析流量特征和解析协议,但是鉴于其UI友好型,我在某核心网络流量镜像与分析的项目中也使用了 Wireshark.

众所周知,Wireshark 将监听到但还未保存的数据文件全部存放于 /Temp 目录,同时将其装载到内存中作为快速缓存,I/O瓶颈显然会影响性能。

这里可以把临时目录挂载到内存盘(ramdisk)中,可以大幅提高解析等操作的速度。

接下来就是实时的数据处理,数据包类型的着色与高亮,DNS的反向查找,都会拖慢重新过滤的速度。

可以在高级设置中设置: - IP/Reassembled fragmented IP datagrams - TCP/Allow subdissectors to reassemble TCP streams

硬件方面,Wireshark 的任务处理采用单线程,多核的优势聊胜于无。

其他方面,可以参考:wiki.wireshark.org/Performance

从捕获过滤降低流量规模

一般情况下,如果要过滤 POST 包,需要在显示过滤器中过滤,在无人值守时,期间可能会发生内存溢出等情况。

使用捕获过滤器可以有效规避:

port 80 and tcp[((tcp[12] & 0xf0) >> 2):4] = 0x47455420

'G', 'E', 'T', ' ' (16 进制值分别对应为 47, 45, 54, 20;tcp[12] & 0xf0) >> 2 为数据偏移位,取 4 字节即为 GET 。
0x504f5354 POST

文章作者: sfc9982
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 sfc9982 !
  目录