tcpdump可以检测wireshark等更高级别的协议吗?

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对于不同的任务来说只是不同的工具。 但是他们完美地一起工作。