Sembra che la funzione di sniff
non funzioni correttamente.il filtro della funzione sniff in scapy non funziona correttamente
i m eseguendo lo sniff con il seguente filtro
a=sniff(count=1,filter="tcp and host 192.168.10.55 and port 14010")
Ma qualche tempo il sniff
prendere un UDP
pacchetto come questo:
>>> a=sniff(count=1,filter="tcp and host 192.168.10.55 and port 14010")
>>> a
<Sniffed: TCP:0 UDP:1 ICMP:0 Other:0>
E qualche tempo il sniff
cattura un pacchetto TCP con sbagliato porte:
>>> a=sniff(count=1,filter="tcp and host 192.168.10.55 and port 14010")
>>> a
<Sniffed: TCP:1 UDP:0 ICMP:0 Other:0>
>>> a[0]
<Ether dst=00:26:55:cb:3b:10 src=00:22:64:55:c8:89 type=0x800 |<IP version=4L ihl=5L tos=0x10 len=92 id=8683 flags=DF frag=0L ttl=64 proto=tcp chksum=0x9484 src=192.168.1.71 dst=192.168.1.133 options=[] |<TCP sport=ssh dport=1874 seq=350107599 ack=2484345720 dataofs=5L reserved=0L flags=PA window=254 chksum=0x846b urgptr=0 options=[] |<Raw load="yn\x01\x9d\xfca\xc9V-8\x18|\xc4\t\xf1\xc4\xd8\xd3\xc6\x95E\x19'h\xc0\x89\xf1\x08g\xa3\x9a\xa9\xf51RF\xc2\x1f\xe5a\xac\x83M\xc9\x0b\x80\x85\x1b\xcf\xb6f\xcc" |>>>>
E qualche tempo il sniff
prendere un pacchetto di ARP
come questo:
>>> a=sniff(count=1,filter="tcp and host 192.168.10.55 and port 14010")
>>> a
<Sniffed: TCP:0 UDP:0 ICMP:0 Other:1>
>>> a[0]
<Ether dst=ff:ff:ff:ff:ff:ff src=00:22:07:2c:53:97 type=0x806 |<ARP hwtype=0x1 ptype=0x800 hwlen=6 plen=4 op=who-has hwsrc=00:22:07:2c:53:97 psrc=192.168.1.178 hwdst=ff:ff:ff:ff:ff:ff pdst=192.168.1.179 |<Padding load='\x00\x07\x00\x00\x00\x00\x00\x00p\x00\x00\x00\x00\x00\x01\x14\x00\x00' |>>>
mi sto perdendo qualcosa nel mio filtro? Come posso evitare questo problema?
Wild guess: si dispone di interfacce di rete insolite sulla macchina in cui si esegue Scapy? Sto pensando lungo le linee delle interfacce di virtual machine (come Virtualbox o VMWare), tun/tap o così. Funziona se si aggiunge 'iface = eth0' (o qualunque altra cosa venga chiamata l'interfaccia Ethernet primaria) all'elenco dei parametri' sniff'? Nota che alcuni pacchetti TCP possono essere classificati in 'Altro', quindi usa' a.summary() 'invece di' a' per ispezionare il risultato. – Wintermute
@Wintermute Ho usato 'iface =" eth0 "', ma ho sempre avuto gli stessi problemi – MOHAMED
Hai installato 'tcpdump'? Inoltre, 'scapy -d' fornisce qualche avvertimento? – Wintermute