Abrir un archivo CAP en Python usando las bibliotecas Scapy genera una excepción.
Tengo un archivo .cap que quiero leer y procesar usando python, he utilizado la biblioteca Scapy pero al intentar leerlo usando la función rdpcap se produce una excepción.\
Archivo .CAP\
El seguimiento completo del error:
Scapy_Exception Traceback (most recent call last)
<ipython-input- 3-544e8f19828d> en <module>()
1 file = '.....'
----> 2 packets = rdpcap(file)
1 frames
/usr/local/lib/python3.7/dist-packages/scapy/utils.py in rdpcap(filename, count)
1115 # One day we should simplify this mess and use a much simpler
1116 # layout that will actually be supported and properly dissected.
-> 1117 with PcapReader(filename) as fdesc: # type: ignore
1118 return fdesc.read_all(count=count)
1119
/usr/local/lib/python3.7/dist-packages/scapy/utils.py in __call__(cls, filename)
1170 pass
1171
-> 1172 raise Scapy_Exception("No es un archivo de captura compatible")
1173
1174 @staticmethod
Scapy_Exception: No es un archivo de captura compatible
Nota: He logrado abrir el archivo .cap en Wireshark y exportarlo a CSV, pero quiero saber si hay una forma de solucionar esto, ya que tengo muchos archivos y sería muy conveniente abrirlos directamente usando python.
EDICIÓN 1: Enlace del archivo .cap actualizado.
davy.ai
El mensaje de excepción indica que el archivo proporcionado a la función rdpcap no es un archivo de captura compatible con Scapy. Esto podría deberse a diferentes razones, como que el archivo esté corrupto o en un formato que Scapy no soporta.
Una posible solución es verificar si el formato del archivo es compatible con Scapy. Scapy admite una variedad de formatos de archivo de captura, incluyendo pcap, pcapng y snoop, entre otros. Es posible que el archivo esté en un formato que Scapy no soporte.
Otra solución es intentar abrir el archivo utilizando una herramienta o biblioteca diferente y convertirlo a un formato compatible. Por ejemplo, el OP mencionó que pudo abrir el archivo en Wireshark y exportarlo a CSV. También podrían intentar exportarlo a un formato de archivo de captura compatible y luego leerlo utilizando Scapy.
Finalmente, también es posible que el archivo esté corrupto o incompleto. En este caso, el OP puede necesitar obtener una nueva copia del archivo o intentar recuperarlo utilizando herramientas de recuperación de archivos.