Scapy Srp1 тайм-аут запроса - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь построить tracert с python.Я сделал цикл, который запускает время ttl, чтобы показать все исходные IP-адреса, по которым прошло сообщение.

Я понимаю, что есть некоторые "станции", которые не возвращают превышение ttl, поэтому мне нужно создать тайм-аутзапрос с srp, я действительно не знаю, что мне вернет srp1 (msg, timeout = 10), потому что я не вижу возвращенное сообщение

Я получил размер TTL для запуска в цикле, простонужно знать, что делать, если истекло время ожидания.

for i in range(1,ttl+1):
    msg = Ether() / IP(dst = domain, ttl = i) / ICMP()
    ans = srp1(msg, verbose = 0, timeout = 10)
    print("%d: %s" % (i, ans[IP].src))

1 Ответ

0 голосов
/ 29 мая 2018

Если происходит тайм-аут, srp1 вернет Нет .

if ans is not None:
    print("%d: %s" % (i, ans[IP].src))
else:
    print("%d: Timeout waiting for %s" % (i, fullmsg[IP].dst))

Тайм-аут = 2 должно быть хорошим значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...