Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
pyshark-legacy — Wrapper de Python para tshark, que permite el análisis de paquetes en Python mediante los disectores de Wireshark (versión heredada de Python2) | Kitploit
Herramientas/GitHubGitHub/kiminewt/pyshark-legacy
Sniffing y Análisis de PaquetesSeguridad de RedesUtilidades y Frameworks
GitHubkiminewt/pyshark-legacy

pyshark-legacy

Wrapper de Python para tshark, que permite el análisis de paquetes en Python mediante los disectores de Wireshark (versión heredada de Python2)

Ver Repositorio
673hace 8 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

pyshark

Este repositorio es para la versión heredada de pyshark, que funciona con Python 2.7+. Solo recibe correcciones de errores después de la versión 0.3.8. Para la nueva versión que solo es compatible con Python 3.5+, use el repositorio principal

Join the chat at https://gitter.im/pyshark_gitter/Lobby Build Status

Wrapper de Python para tshark, que permite el análisis de paquetes de Python utilizando los disectores de wireshark.

Documentación extendida: http://kiminewt.github.io/pyshark

Existen bastantes módulos de análisis de paquetes en Python; este es diferente porque en realidad no analiza ningún paquete, simplemente utiliza la capacidad de tshark (utilidad de línea de comandos de wireshark) de exportar XMLs para usar su análisis.

Este paquete permite el análisis desde un archivo de captura o una captura en vivo, utilizando todos los disectores de wireshark que tenga instalados. Probado en Windows/Linux.

Instalación

Todas las plataformas

Simplemente ejecute lo siguiente para instalar la última versión desde pypi

root@kitploit:~
pip install pyshark-legacy

O instale desde el repositorio git:

root@kitploit:~
git clone https://github.com/KimiNewt/pyshark-legacy.git
cd pyshark/src
python setup.py install

Mac OS X

Es posible que deba instalar libxml, lo cual puede ser inesperado. Si recibe un error de clang o un mensaje de error sobre libxml, ejecute lo siguiente:

root@kitploit:~
xcode-select --install
pip install libxml

Probablemente tendrá que aceptar un CLUF de XCode, así que esté preparado para hacer clic en un cuadro de diálogo "Aceptar" en la GUI.

Uso

Lectura desde un archivo de captura:

root@kitploit:~
>>> import pyshark
>>> cap = pyshark.FileCapture('/tmp/mycapture.cap')
>>> cap
<FileCapture /tmp/mycapture.cap (589 packets)>
>>> print cap[0]
Packet (Length: 698)
Layer ETH:
        Destination: BLANKED
        Source: BLANKED
        Type: IP (0x0800)
Layer IP:
        Version: 4
        Header Length: 20 bytes
        Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        Total Length: 684
        Identification: 0x254f (9551)
        Flags: 0x00
        Fragment offset: 0
        Time to live: 1
        Protocol: UDP (17)
        Header checksum: 0xe148 [correct]
        Source: BLANKED
        Destination: BLANKED
  ...

Otras opciones

  • parámetro keep_packets: Si se deben conservar los paquetes después de leerlos mediante next(). Se usa para ahorrar memoria al leer capturas grandes.
  • parámetro input_file: Una ruta o un objeto similar a un archivo que contenga un archivo de captura de paquetes (PCAP, PCAP-NG..) o un xml de TShark.
  • parámetro display_filter: Un filtro de visualización (wireshark) para aplicar a la captura antes de leerla.
  • parámetro only_summaries: Solo produce resúmenes de paquetes, mucho más rápido pero incluye muy poca información.
  • parámetro disable_protocol: Deshabilitar la detección de un protocolo (tshark > versión 2)
  • parámetro decryption_key: Clave utilizada para cifrar y descifrar el tráfico capturado.
  • parámetro encryption_type: Estándar de cifrado utilizado en el tráfico capturado (debe ser 'WEP', 'WPA-PWD' o 'WPA-PWK'. El valor predeterminado es WPA-PWK).
  • parámetro tshark_path: Ruta del binario tshark

Lectura desde una interfaz en vivo:

root@kitploit:~
>>> capture = pyshark.LiveCapture(interface='eth0')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (5 packets)>
>>> capture[3]
<UDP/HTTP Packet>

for packet in capture.sniff_continuously(packet_count=5):
    print 'Just arrived:', packet

Otras opciones

  • parámetro interface: Nombre de la interfaz para capturar. Si no se indica, toma la primera disponible.
  • parámetro bpf_filter: Filtro BPF para usar en los paquetes.
  • parámetro display_filter: Filtro de visualización (wireshark) para usar.
  • parámetro only_summaries: Solo produce resúmenes de paquetes, mucho más rápido pero incluye muy poca información.
  • parámetro disable_protocol: Deshabilitar la detección de un protocolo (tshark > versión 2)
  • parámetro decryption_key: Clave utilizada para cifrar y descifrar el tráfico capturado.
  • parámetro encryption_type: Estándar de cifrado utilizado en el tráfico capturado (debe ser 'WEP', 'WPA-PWD' o 'WPA-PWK'. El valor predeterminado es WPA-PWK).
  • parámetro tshark_path: Ruta del binario tshark
  • parámetro output_file: Opcionalmente, guardar los paquetes capturados adicionalmente en este archivo.

Lectura desde una interfaz en vivo usando un búfer circular

root@kitploit:~
>>> capture = pyshark.LiveRingCapture(interface='eth0')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (5 packets)>
>>> capture[3]
<UDP/HTTP Packet>

for packet in capture.sniff_continuously(packet_count=5):
    print 'Just arrived:', packet

Otras opciones

  • parámetro ring_file_size: Tamaño del archivo del anillo en kB, el valor predeterminado es 1024
  • parámetro num_ring_files: Número de archivos del anillo a mantener, el valor predeterminado es 1
  • parámetro ring_file_name: Nombre del archivo del anillo, el valor predeterminado es /tmp/pyshark.pcap
  • parámetro interface: Nombre de la interfaz para capturar. Si no se indica, toma la primera disponible.
  • parámetro bpf_filter: Filtro BPF para usar en los paquetes.
  • parámetro display_filter: Filtro de visualización (wireshark) para usar.
  • parámetro only_summaries: Solo produce resúmenes de paquetes, mucho más rápido pero incluye muy poca información.
  • parámetro disable_protocol: Deshabilitar la detección de un protocolo (tshark > versión 2)
  • parámetro decryption_key: Clave utilizada para cifrar y descifrar el tráfico capturado.
  • parámetro encryption_type: Estándar de cifrado utilizado en el tráfico capturado (debe ser 'WEP', 'WPA-PWD' o 'WPA-PWK'. El valor predeterminado es WPA-PWK).
  • parámetro tshark_path: Ruta del binario tshark
  • parámetro output_file: Opcionalmente, guardar los paquetes capturados adicionalmente en este archivo.

Lectura desde una interfaz remota en vivo:

root@kitploit:~
>>> capture = pyshark.RemoteCapture('192.168.1.101', 'eth0')
>>> capture.sniff(timeout=50)
>>> capture

Otras opciones

  • parámetro remote_host: El host remoto para capturar (IP o nombre de host). Debe estar ejecutando rpcapd.
  • parámetro remote_interface: La interfaz remota en la máquina remota para capturar. Tenga en cuenta que en Windows no es el nombre de visualización del dispositivo, sino el nombre de interfaz real (es decir, \Device\NPF_..).
  • parámetro remote_port: El puerto remoto en el que el servicio rpcapd está escuchando.
  • parámetro bpf_filter: Un filtro BPF (tcpdump) para aplicar a la captura antes de leer.
  • parámetro only_summaries: Solo produce resúmenes de paquetes, mucho más rápido pero incluye muy poca información.
  • parámetro disable_protocol: Deshabilitar la detección de un protocolo (tshark > versión 2)
  • parámetro decryption_key: Clave utilizada para cifrar y descifrar el tráfico capturado.
  • parámetro encryption_type: Estándar de cifrado utilizado en el tráfico capturado (debe ser 'WEP', 'WPA-PWD' o 'WPA-PWK'. El valor predeterminado es WPA-PWK).
  • parámetro tshark_path: Ruta del binario tshark

Acceso a los datos del paquete:

Los datos se pueden acceder de múltiples formas. Los paquetes se dividen en capas; primero debe llegar a la capa adecuada y luego puede seleccionar su campo.

Todo lo siguiente funciona:

root@kitploit:~
>>> packet['ip'].dst
192.168.0.1
>>> packet.ip.src
192.168.0.100
>>> packet[2].src
192.168.0.100

Para probar si una capa está en un paquete, puede usar su nombre:

root@kitploit:~
>>> 'IP' in packet
True

Para ver todos los nombres de campo posibles, use el atributo packet.layer.field_names (es decir, packet.ip.field_names) o la función de autocompletar en su intérprete.

También puede obtener los datos binarios originales de un campo, o una descripción más detallada:

root@kitploit:~
>>> p.ip.addr.showname
Source or Destination Address: 10.0.0.10 (10.0.0.10)
# Y algunos nuevos atributos también:
>>> p.ip.addr.int_value
167772170
>>> p.ip.addr.binary_value
'\n\x00\x00\n'

Descifrado de capturas de paquetes

Pyshark admite el descifrado automático de trazas utilizando los estándares WEP, WPA-PWD y WPA-PSK (WPA-PWD es el predeterminado).

root@kitploit:~
>>> cap1 = pyshark.FileCapture('/tmp/capture1.cap', decryption_key='password')
>>> cap2 = pyshark.LiveCapture(interface='wi0', decryption_key='password', encryption_type='wpa-psk')

Una tupla de los estándares de cifrado compatibles, SUPPORTED_ENCRYPTION_STANDARDS, existe en cada clase de captura.

root@kitploit:~
>>> pyshark.FileCapture.SUPPORTED_ENCRYPTION_STANDARDS
('wep', 'wpa-pwd', 'wpa-psk')
>>> pyshark.LiveCapture.SUPPORTED_ENCRYPTION_STANDARDS
('wep', 'wpa-pwd', 'wpa-psk')

Licencia

Este proyecto está licenciado bajo MIT. Las contribuciones a este proyecto se aceptan bajo la misma licencia.

Descargar herramienta