【发布时间】:2013-04-05 06:08:07
【问题描述】:
我必须在 Linux 运行时计算发送和接收的 PING 数据包。现在在 Linux 中,即使是详细的,如果没有收到数据包,也不会打印任何内容。打印仅用于成功回复,无法访问目标主机。
如何在终端运行时查看发送和接收的数据包?有什么方法可以实现吗?
【问题讨论】:
我必须在 Linux 运行时计算发送和接收的 PING 数据包。现在在 Linux 中,即使是详细的,如果没有收到数据包,也不会打印任何内容。打印仅用于成功回复,无法访问目标主机。
如何在终端运行时查看发送和接收的数据包?有什么方法可以实现吗?
【问题讨论】:
最简单的解决方案 - 如果您想查看所有发送和所有接收,实际上是让源执行此操作。 ping 命令的源代码可以广泛使用,并且可以对其进行编辑以使其执行您想要的操作。
也就是说,如果你不想实际编辑源,因为它不适合,你真的应该使用-c选项,用于发送数据包的计数,并使用命令发送一次一个。命令的返回码可用于确定是否看到了数据包,您可以(大致)使用命令开始的时间作为数据包的原始时间。
请记住 ping 它的行为是非常确定的。默认情况下,它每秒发送一个数据包,因此您应该能够轻松地根据它运行的时间和您尝试使用的数据包数量进行数学计算。
【讨论】: