我该如何解决Traceroute收到的软件包错误?

时间:2020-03-13 18:43:44

标签: python networking traceroute

我是一名学生,我在学校写了一个用于项目的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

谢谢

0 个答案:

没有答案