ping 命令默认是不带时间戳的,当丢包时无法通过 ping 记录来追溯断网的时间点。
比如:
bash$ ping -t baidu.com
Pinging baidu.com [39.156.66.10] with 32 bytes of data:
Reply from 39.156.66.10: bytes=32 time=32ms TTL=45
Reply from 39.156.66.10: bytes=32 time=32ms TTL=45
Reply from 39.156.66.10: bytes=32 time=31ms TTL=45
General failure.
General failure.
General failure.
Reply from 39.156.66.10: bytes=32 time=31ms TTL=45
Reply from 39.156.66.10: bytes=32 time=31ms TTL=45
Reply from 39.156.66.10: bytes=32 time=31ms TTL=45
General failure.
Reply from 39.156.66.10: bytes=32 time=32ms TTL=45
Reply from 39.156.66.10: bytes=32 time=32ms TTL=45
Reply from 39.156.66.10: bytes=32 time=32ms TTL=45
General failure.
General failure.
General failure.
General failure.
General failure.
如果能在 ping 的输出记录前加上时间戳,则可以通过日志来跟踪网络质量发生变动的时间点。处理的思路是通过管道将 ping 的输出获取后进行加工,在其前面加上时间戳后再输出,类似如下效果:
bash$ ping -t baidu.com | python add_timestamp.py
2024.02.15 20:50:05
2024.02.15 20:50:05 Pinging baidu.com [110.242.68.66] with 32 bytes of data:
2024.02.15 20:50:05 General failure.
2024.02.15 20:50:06 General failure.
2024.02.15 20:50:07 General failure.
2024.02.15 20:50:08 General failure.
2024.02.15 20:50:09 Reply from 110.242.68.66: bytes=32 time=32ms TTL=49
2024.02.15 20:50:10 Reply from 110.242.68.66: bytes=32 time=33ms TTL=49
2024.02.15 20:50:11 Reply from 110.242.68.66: bytes=32 time=31ms TTL=49
2024.02.15 20:50:12 Reply from 110.242.68.66: bytes=32 time=32ms TTL=49
2024.02.15 20:50:13 Reply from 110.242.68.66: bytes=32 time=33ms TTL=49
2024.02.15 20:50:14 General failure.
2024.02.15 20:50:15 General failure.
2024.02.15 20:50:16 General failure.
添加时间戳的 python 脚本代码如下:
import datetime
import sys
def add_timestamp():
f = sys.stdin
while True:
line = f.readline().strip()
timestamp = datetime.datetime.now().strftime("%Y.%m.%d %H:%M:%S")
print(f'{timestamp}t{line}', flush=True)
if __name__ == "__main__":
try:
add_timestamp()
except:
pass
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
原文始发于微信公众号(生有可恋):ping 命令加时间戳
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论