Я пытаюсь отправить пакеты icmp по каналу ppp, но sr не может получить ответ, и с tcpdump ppp0 все в порядке!
sh-4.2# tcpdump -i ppp0 -n icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
23:52:58.595117 IP 219.240.73.152 > 106.120.159.142: ICMP echo request, id 10915, seq 1, length 8
23:52:58.618401 IP 106.120.159.142 > 219.240.73.152: ICMP echo reply, id 10915, seq 1, length 8
Мой код выглядит следующим образом result и результатом является тайм-аут! Версия Scapy составляет 2,4,3
import os
from scapy.all import *
conf.route.resync()
packet = IP(dst="www.baidu.com")/ICMP(id=10915, seq=1)
ans,unans = sr(packet, filter='icmp', verbose=0, timeout=3)
if ans is None or len(ans) <= 0:
result = {"ans": len(ans), "unans": len(unans), "error": "timeout"}
print(result)
return
tx = ans[0][0]
rx = ans[0][1]
time = '%.2f' % ((rx.time-tx.sent_time) * 1000)
ip = rx.sprintf("%IP.src%")
result = {"ip": ip, "time": time}
print(result)