python - 如何解决 traceroute 收到的包错误?
问题描述
我是一名学生,我为我学校的项目编写了一个跟踪路由文件。当包裹从一开始大约 10-12 跳到达路由器时,路由器不会返回任何答案。为了解决这个问题,我做了一个循环,所以程序将发送包直到它收到答案。取而代之的是,它仍然没有收到任何答案。这是代码:
ip = '8.8.8.8'
ttl = 1
hops = []
packet = IP(dst=ip, ttl=ttl)/ICMP(type=8)
packet.show()
resp = sr1(packet, timeout=3)
while resp.src != '8.8.8.8':
hops.append(resp.src)
ttl += 1
packet = IP(dst=ip, ttl=ttl) / ICMP(type=8)
resp = sr1(packet, timeout=20)
while resp is None:
resp = sr1(packet, timeout=20)
hops.append(resp.src)
counter = 1
for i in hops:
print('Hop Number ' + str(counter) + '--->' + i)
counter += 1
谢谢
解决方案
推荐阅读
- mqtt - 持久会话在 MQTT 中如何工作?
- vue.js - 如何将多个字段发送到 vue-x 商店?
- c# - 是否可以使用实体框架将 Datacontext 类设为静态
- javascript - 正则表达式后视(JS)中的可选字符
- android - 将 RemoteViews 中的 TextView 设置为 CSS 样式的 html 文本
- python - 如何在 Python 中模仿 R 的 rasterImage 函数?
- javascript - 如何将事件侦听器添加到动态元素
- excel - Excel:解锁受保护的工作表忘记密码
- php - 检查 php 登录站点中的用户活动
- php - PHP 警告:DOMDocument::loadHTML(): htmlParseEntityRef: 期待 ';' 在实体中,