查看网络数据包的工具 如何查看数据包



文章插图
查看网络数据包的工具 如何查看数据包

文章插图
tcpdump您可以使用-v选项获得更多详细信息,而-vv可以获取更多信息 。
有用的选项
假设您已登录到要管理的远程计算机 。如果您不带任何选项运行“ tcpdump”,则输出将被来自您的SSH连接的数据包淹没 。为避免这种情况,只需从输出中消除端口22:
tcpdump not port 22您可以使用许多不同的端口来执行此操作:
tcpdump not port 143 and not port 25 and not port 22如果要进行相反的操作,即仅监视某个端口(这对于调试网络应用程序非常有用),则可以执行以下操作:
tcpdump port 143您还可以从网络上的特定主机获取数据:
tcpdump host hal9000如果您的计算机具有多个网络接口,则还可以指定要收听的网络接口:
tcpdump -i eth1您还可以指定协议:
tcpdump udp您可以在/ etc / protocols中找到协议列表 。
保存输出以备后用
在某些情况下,您可能希望将输出重定向到文件,以便以后可以详细研究它或使用其他程序来解析输出 。在以下示例中,您仍然可以在将输出保存到文件时观看输出:
tcpdump -l | tee tcpdump_`date +%Y%m%e-%k.%M`在上面的示例中,我们可以使用日期和时间来标识每个转储 。在处理一天中特定时间出现的问题时,这可能会派上用场 。
tcpdump还可以选择将其输出转储为二进制格式,以便以后读取 。要创建一个二进制文件:
tcpdump -w tcpdump_raw_`date +%Y%m%e-%k.%M`【查看网络数据包的工具 如何查看数据包】稍后,您可以让tcpdump使用以下命令读取文件
tcpdump -r tcpdump_raw_YYYMMDD-H.M您也可以使用ethereal程序打开原始转储并解释它 。
tcpdump为我们提供了有关往返于网络的所有数据包的信息 。