计算Linux运行时发送和接收的PING包数



我必须在Linux运行时计算发送和接收的PING数据包。现在在Linux中,即使使用verbose,如果没有接收到数据包,也不会打印任何内容。打印仅用于成功应答,目标主机不可达。

如何在终端运行时看到发送和接收的数据包?有什么方法可以做到这一点?

最简单的解决方案-如果您想看到所有发送和接收的内容,就是让源程序这样做。ping命令的源代码广泛可用,并且可以编辑以使其按您的要求执行。

也就是说,如果您不想实际编辑源代码,因为它不适合,您应该使用-c选项,用于发送数据包的计数,并使用命令一次发送一个。命令的返回代码可用于确定是否看到了数据包,并且可以(大致地)使用命令开始的时间作为数据包的原始时间。

请记住,它的行为是完全确定的。默认情况下,它每秒发送一个数据包,因此您应该能够轻松地根据它运行的时间和您尝试使用的数据包计数进行计算。

最新更新