Я отправляю пакеты через ppp link по scapy, почему sr не может получить ответ? tcpdump ppp0 в порядке - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь отправить пакеты 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)
...