Wireshark 会猜测数据包中使用了哪些更高级别的协议,但是我怎样才能让 tcpdump 做同样的事情(或任何其他 linux 命令行工具)?
例如,以下屏幕截图显示了wireshark检测“HTTP”作为被捕获的协议:http ://www.tohir.co.za/wp-content/uploads/2010/09/wireshark_filters.png
但是,tcpdump 的 cli 输出只是说它是“IP”协议——这不是错误的,但我想要一个可以为我确定正在使用的常见更高级别协议的工具。
tcpdumps 主要目的是抓包。这必须快速完成,因为您不想错过数据包。
Wiresharks 的主要目的是分析数据包。对于分析,您通常有足够的时间。对于捕获(在 Windows 上),wireshark 使用一个特殊的驱动程序,它也只能看到“IP”包。
因此,tcpdump 和 wireshark 只是用于不同任务的不同工具。但它们完美地协同工作。