Priorità:Packet comportamento corrispondente in scapy
sto usando scapy per testare un dispositivo di rete che può selettivamente pacchetti loopback scambiando MAC sorgente/destinazione, indirizzi IP, e lo strato 4 numeri di porta. Lo scambio può essere selezionato per layer_2_only
, layers_2_and_3
, layers_2_3_and_4
. Sto eseguendo scapy su un server, trasmettendo pacchetti sul dispositivo e convalidando che i pacchetti inviati indietro hanno scambiato i campi source/dest appropriati a seconda dell'impostazione.
Problema:
Il metodo Scapy srploop()
, che invia e riceve i pacchetti partite funziona bene per i tipi di messaggi come ping e ARP. Sto scoprendo che se trasmetto un pacchetto UDP e le porte source/dest non sono invertite dal dispositivo loop-back, allora scapy non tratta il pacchetto loopback come una partita. Quando i numeri di porta vengono invertiti dal dispositivo loop-back, i pacchetti vengono rilevati come corrispondenze.
Domande:
Esiste un modo per ignorare o comunque influenzare la logica del pacchetto corrispondente di Scapy? Ad esempio, essere in grado di disabilitare la corrispondenza al livello 4 sarebbe utile. Ho esaminato la documentazione e non ho trovato nulla che suggerisca che sia possibile.
C'è un altro modo per ottenere questo risultato in scapy. Ho provato a utilizzare
send()
seguito dasniff()
ma non sono riuscito a catturare le risposte utilizzando tale metodo.