【发布时间】:2011-02-10 05:14:27
【问题描述】:
我需要在 Linux 上的 python 程序中找到第一个网络跃点。我不能只依赖默认网关作为第一跳,因为盒子上的某些网络软件可能(也可能不会)插入捕获所有路由:
0.0.0.0/1128.0.0.0/1
我考虑过弹出tracepath -m 1 <some ip> 并解析输出,但我不喜欢依赖另一个程序的输出格式。从 /proc 读取路由表并对其应用路由逻辑我认为有点超出我的脚本能力,尽管我可能会在某个时候尝试它。有没有更简单的方法(我不知道的模块中是否有人已经发明了这个轮子)?
【问题讨论】:
-
我认为您反对阅读 traceroute/tracepath 过于谨慎。这类应用程序几乎从不改变其输出格式,而且 traceroute 无处不在。
标签: python networking routing