我需要整夜运行 Wireshark 来捕获来自某个 IP 地址的数据包。我注意到 Wireshark 运行的时间越长,占用的 RAM 就越多,因为它存储了运行期间发现的所有数据包。我有3种可能的解决方案,但我在网上找不到任何答案:
对于Windows环境(比如我的,在服务器上安装wireshark是一件大事),从Win7/2008R2开始就内置了数据包捕获功能。
这将捕获一切,直到你告诉它停止:
netsh trace start capture=yes persistent=yes tracefile=c:\temp\results.etl
监控踪迹:
netsh trace show status
停止跟踪:
netsh trace stop
它确实支持所有常见功能:过滤、循环日志记录,甚至可以在重新启动后持续存在。另一个优点是命令帮助:尝试netsh trace ?或netsh trace show ?
您确实需要安装 Microsoft Message Analyzer 才能查看/导出结果。
对于您的情况,您似乎可以使用以下命令进行设置:
netsh trace start capture=yes persistent=yes tracefile=c:\temp\results.etl maxSize=500
这将为您提供 500MB 文件的循环日志记录,并在重新启动后持续存在。