Antecedentes:paquete en scapy
estoy usando scapy para probar un dispositivo de red que puede selectivamente paquetes de bucle-back intercambiando MACs fuente/destino, direcciones IP, y los números de puerto capa 4. El intercambio se puede seleccionar para layer_2_only
, layers_2_and_3
, layers_2_3_and_4
. Estoy ejecutando scapy en un servidor, transmitiendo paquetes al dispositivo y validando que los paquetes enviados devuelven los campos source/dest apropiados intercambiados dependiendo de la configuración.
Problema:
El método scapy srploop()
, que envía los paquetes y recibe partidos funciona bien para tipos de mensajes como PING y ARP. Estoy descubriendo que si transmito un paquete UDP y los puertos fuente/destino no son revertidos por el dispositivo loop-back, entonces scapy no trata el paquete en bucle como una coincidencia. Cuando el dispositivo de bucle revierte los números de puerto, los paquetes se detectan como coincidencias.
Preguntas:
¿Hay una manera de anular o influir en la lógica del paquete coincidente scapy lo contrario? Por ejemplo, poder desactivar la coincidencia en la capa 4 sería útil. He revisado la documentación y no he encontrado nada que sugiera que esto sea posible.
Hay otra manera de lograr esto en scapy. He experimentado con el uso de
send()
seguido desniff()
pero no he podido capturar las respuestas con ese método.