首页 > 解决方案 > 如何解决 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

谢谢

标签: pythonnetworkingtraceroute

解决方案


推荐阅读