You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Mininet中通过ping命令获取时间戳?

在Mininet中让Ping输出包含时间戳的方法

嘿,我来帮你搞定在Mininet里让ping显示时间戳的需求!默认ping确实不会输出时间戳,但咱们有两种简单的方法可以实现:

方法1:使用Ping自带的-D参数

Ping本身就有一个内置参数可以添加时间戳,直接在执行ping的时候加上-D就行,它会在每一行输出的开头加上自Unix纪元以来的时间戳(精确到微秒)

在Mininet终端里执行:

mininet> h1 ping -D h2

输出示例会变成这样:

PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
[1699999999.123456] 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=1.17 ms
[1700000000.124567] 64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=1.48 ms
[1700000001.125678] 64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.426 ms

这个方法最直接,不需要额外安装工具。

方法2:用ts命令生成易读的日期时间戳

如果你想要更直观的日期时间格式(比如YYYY-MM-DD HH:MM:SS),可以用ts命令来给ping的输出加上时间戳。不过首先得在Mininet的节点里安装moreutils包(因为ts属于这个包):

先在节点里安装:

mininet> h1 apt update && h1 apt install -y moreutils

然后执行带时间戳的ping:

mininet> h1 ping h2 | ts

输出示例会像这样:

Nov 14 10:00:00 PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
Nov 14 10:00:01 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=1.17 ms
Nov 14 10:00:02 64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=1.48 ms

这种格式更适合快速直观地看到每个ping响应的具体时间点。

内容的提问来源于stack exchange,提问作者user9587142

火山引擎 最新活动