Articulo de referencia

pcap

{{cite web|url=https://www.tcpdump.org/#latest-release|title=tcpdump and libpcap latest release|publisher=tcpdump.org |access-date=2026-06-10}} "},"programming language":{"wt":"...

En el ámbito de la administración de redes informáticas , pcap es una interfaz de programación de aplicaciones (API) para la captura de tráfico de red . Si bien el nombre es una abreviatura de captura de paquetes , no es el nombre correcto de la API. Los sistemas tipo Unix implementan pcap en la biblioteca libpcap ; para Windows , existe una versión de libpcap llamada WinPcap que ya no recibe soporte ni se desarrolla, y una versión llamada Npcap para Windows 7 y posteriores que aún recibe soporte.

El software de monitorización puede utilizar libpcap, WinPcap o Npcap para capturar paquetes de red que viajan a través de una red informática y, en versiones más recientes, para transmitir paquetes en una red en la capa de enlace y para obtener una lista de interfaces de red para su posible uso con libpcap, WinPcap o Npcap.

La API de pcap está escrita en C , por lo que otros lenguajes como Java , los lenguajes .NET y los lenguajes de scripting suelen usar un envoltorio ; ni libpcap ni WinPcap proporcionan tales envoltorios. Los programas en C++ pueden enlazar directamente con la API de C o usar un envoltorio orientado a objetos .

Características

libpcap, WinPcap y Npcap proporcionan los motores de captura y filtrado de paquetes de muchas herramientas de red de código abierto y comerciales, incluidos analizadores de protocolos ( capturadores de paquetes ), monitores de red , sistemas de detección de intrusiones en la red , generadores de tráfico y probadores de red.

La mayoría de los sistemas tipo Unix actuales proporcionan un mecanismo para que un programa pueda capturar el tráfico de red hacia y desde la máquina que lo ejecuta y, en algunos casos, otro tráfico al que esté conectada dicha máquina. Sin embargo, estos mecanismos son significativamente diferentes entre sí; la biblioteca libpcap proporciona una API común para acceder a ellos, lo que permite escribir programas para capturar tráfico de red sin tener que preocuparse por los detalles de cada mecanismo.

libpcap, WinPcap y Npcap también admiten guardar los paquetes capturados en un archivo y leer archivos que contengan paquetes guardados; se pueden escribir aplicaciones , utilizando libpcap, WinPcap o Npcap, para capturar tráfico de red y analizarlo, o para leer una captura guardada y analizarla, utilizando el mismo código de análisis. Un archivo de captura guardado en el formato que utilizan libpcap, WinPcap y Npcap puede ser leído por aplicaciones que entienden ese formato, como tcpdump , Wireshark , CA NetMaster o Microsoft Network Monitor 3.x. El formato de archivo se describe en el borrador de Internet draft-ietf-opsawg-pcap; [ 5 ] la versión actual del borrador de los editores también está disponible. [ 6 ]

El tipo MIME para el formato de archivo creado y leído por libpcap, WinPcap y Npcap es application/vnd.tcpdump.pcap. La extensión de archivo típica es .pcap, aunque .cap y .dmp también son de uso común. [ 7 ]

Historia

libpcap fue desarrollado originalmente por los desarrolladores de tcpdump en el Grupo de Investigación de Redes del Laboratorio Lawrence Berkeley . El código de captura de paquetes de bajo nivel, lectura de archivos de captura y escritura de archivos de captura de tcpdump fue extraído y convertido en una biblioteca, con la que se enlazó tcpdump. [ 8 ] Actualmente, es desarrollado por el mismo grupo tcpdump.org que desarrolla tcpdump. [ 9 ]

Bibliotecas pcap para Windows

Aunque libpcap se desarrolló originalmente para sistemas operativos tipo Unix, se creó una versión exitosa para Windows llamada WinPcap. Desde 2013 no recibe mantenimiento, [ 10 ] y se han publicado varias bifurcaciones con nuevas características y compatibilidad con versiones más recientes de Windows.

WinPcap

WinPcap consta de: [ 11 ]

Los programadores del Politécnico de Turín escribieron el código original. A partir de 2008, CACE Technologies, una empresa creada por algunos de los desarrolladores de WinPcap, desarrolló y mantuvo el producto. CACE fue adquirida por Riverbed Technology el 21 de octubre de 2010. [ 12 ]

Debido a que WinPcap utiliza las API NDIS 5.x antiguas, no funciona en algunas versiones de Windows 10, que han dejado de usar o eliminado dichas API en favor de las API NDIS 6.x más recientes. Esto también impone algunas limitaciones, como la imposibilidad de capturar etiquetas VLAN 802.1Q en los encabezados Ethernet .

El proyecto WinPcap ha cesado su desarrollo y WinPcap y WinDump ya no reciben mantenimiento. La última versión oficial de WinPcap fue la 4.1.3, publicada el 8 de marzo de 2013. [ 13 ]

Npcap

Npcap es la biblioteca de captura de paquetes del Proyecto Nmap para Windows. [ 14 ] Está basada en WinPcap, pero escrita para aprovechar las mejoras de red de Windows en la versión 6 de NDIS. Sus autores reescribieron el controlador de protocolo NDIS 5 de WinPcap como un controlador de filtro ligero (LWF), un cambio que reduce la sobrecarga de procesamiento. [ 15 ] Las versiones de mantenimiento de Npcap actualizaron la versión de la biblioteca libpcap incluida a la más reciente disponible, lo que permite a los desarrolladores de software usar las nuevas características de la API que el software de Linux ya admitía. [ 16 ] La mayoría del software que usaba WinPcap se puede portar fácilmente para usar Npcap con cambios mínimos. [ 17 ]

Npcap introdujo varias innovaciones que no estaban disponibles en WinPcap:

A diferencia de Nmap , Npcap es un software propietario y requiere una licencia especial para su uso y redistribución, excepto para algunos usos internos limitados. [ 21 ]

Captura de pantalla de Win10

La implementación de Win10Pcap también se basa en el modelo de controlador NDIS 6 y funciona de manera estable con Windows 10. [ 22 ] Sin embargo, el proyecto ha estado inactivo desde 2016. [ 23 ]

Programas que usan o usaron libpcap

  • Bit-Twist , un generador y editor de paquetes Ethernet basado en libpcap para BSD , Linux y Windows.
  • Caín y Abel , una herramienta de recuperación de contraseñas descontinuada para Microsoft Windows.
  • EtherApe , una herramienta gráfica para monitorizar el tráfico de red y el uso del ancho de banda en tiempo real.
  • Firesheep , una extensión descontinuada para el navegador web Firefox que capturaba paquetes y realizaba secuestro de sesión.
  • iftop , una herramienta para mostrar el uso del ancho de banda (como top para el tráfico de red).
  • Kismet , para redes LAN inalámbricas 802.11
  • L0phtCrack , una aplicación para auditar y recuperar contraseñas .
  • McAfee ePolicy Orchestrator, función de detección de sistemas no autorizados
  • ngrep , también conocido como " grep de red ", aísla cadenas de texto en paquetes y muestra los datos de los paquetes en una salida legible para el usuario.
  • Nmap , una utilidad de escaneo de puertos y de identificación de redes.
  • Pirni, una herramienta de seguridad de red descontinuada para dispositivos iOS con jailbreak .
  • Scapy , una herramienta de manipulación de paquetes para redes informáticas, escrita en Python por Philippe Biondi.
  • Snort , un sistema de detección de intrusiones en la red.
  • Suricata , una plataforma de análisis y prevención de intrusiones en redes.
  • Symantec Data Loss Prevention se utiliza para supervisar e identificar datos confidenciales, así como para rastrear su uso y ubicación. Las políticas de prevención de pérdida de datos permiten bloquear la salida de datos confidenciales de la red o copiarlos a otro dispositivo.
  • tcpdump , una herramienta para capturar y volcar paquetes para su posterior análisis, y WinDump, la versión de tcpdump para Windows.
  • Zeek , un sistema de detección de intrusiones y plataforma de monitorización de redes .
  • URL Snooper localiza las URL de archivos de audio y vídeo para permitir su grabación.
  • WhatPulse , una aplicación de medición estadística (de entrada, red y tiempo de actividad).
  • Wireshark (anteriormente Ethereal), una herramienta gráfica para la captura de paquetes y el análisis de protocolos.
  • XLink Kai , software que permite jugar en línea a varios juegos de consola LAN.
  • Xplico , una herramienta de análisis forense de redes (NFAT).
  • Analizador PCAP diseñado para procesar el tráfico de red capturado y proporcionar decodificación a nivel de protocolo y extracción de metadatos.

Bibliotecas de envoltura para libpcap

  • C++ : Libtins , Libcrafter , PcapPlusPlus
  • Perl : Net::Pcap
  • Python : python-libpcap , Pcapy , WinPcapy
  • Ruby : PacketFu
  • Rust : pcap
  • Tcl : tclpcap , tcap , pktsrc
  • Java : jpcap , jNetPcap , Jpcap , Pcap4j , Jxnet
  • .NET : WinPcapNET, SharpPcap , Pcap.Net
  • Haskell : pcap
  • OCaml : mlpcap
  • Esquema de pollo : pcap
  • Lisp común : PLOKAMI
  • Raqueta : SPeaCAP
  • Go : pcap por Andreas Krennmair, pcap bifurcación del anterior por Miek Gieben, pcap desarrollado como parte del paquete gopacket
  • Erlang : epcap
  • Node.js : node_pcap

Bibliotecas que no son pcap pero que leen archivos pcap.

Otras aplicaciones o dispositivos que leen o escriben archivos pcap o pcapng

Referencias

  1. "Última versión de tcpdump y libpcap" . tcpdump.org . Consultado el 10 de junio de 2026 .
  2. "Licencia de tcpdump y libpcap" . tcpdump.org . Consultado el 2 de mayo de 2020 .
  3. "Registro de cambios de WinPcap" .
  4. "npcap/CHANGELOG.md" . GitHub .
  5. Formato de archivo de captura PCAP . IETF . 23 de julio de 2023. ID draft-ietf-opsawg-pcap.
  6. "Formato de archivo de captura PCAP" . 1 de marzo de 2024.
  7. Turner, Glen (30-03-2011). "Registro IANA de la solicitud para el tipo MIME application/vnd.tcpdump.pcap" . IANA . Recuperado el 25-02-2023 .
  8. McCanne, Steve. "libpcap: una arquitectura y metodología de optimización para la captura de paquetes" (PDF) . Consultado el 27 de diciembre de 2013 .
  9. "Repositorio público TCPDUMP/LIBPCAP" . Consultado el 27 de diciembre de 2013 .
  10. "Noticias de WinPcap" . Consultado el 6 de noviembre de 2017 .
  11. "Funcionamiento interno de WinPcap" . Consultado el 27 de diciembre de 2013 .
  12. "Riverbed se expande aún más en el mercado de gestión del rendimiento de redes con reconocimiento de aplicaciones con la adquisición de CACE Technologies" (Comunicado de prensa). Riverbed Technology . 21 de octubre de 2010. Archivado del original el 8 de marzo de 2013. Consultado el 21 de octubre de 2010 .
  13. "WinPcap · Noticias" . WinPcap . 8 de marzo de 2013.
  14. "Npcap" .
  15. "Filtro de controladores" . 15 de diciembre de 2021.
  16. "Lanzamiento de Npcap 1.20" . GitHub .
  17. "Actualización del software WinPcap a Npcap" . Desarrollo de software con Npcap . Consultado el 25 de febrero de 2023 .
  18. "Opciones del instalador gráfico" . Guía del usuario de Npcap . Consultado el 25 de febrero de 2023 .
  19. "Para software que utiliza la función de bucle invertido de Npcap" . Guía del usuario de Npcap . Consultado el 25 de febrero de 2023 .
  20. "Para software que utiliza la función 802.11 sin procesar de Npcap" . Guía del usuario de Npcap . Consultado el 25 de febrero de 2023 .
  21. "Licencia Npcap" . GitHub .
  22. "Win10Pcap: WinPcap para Windows 10" .
  23. Win10Pcap: WinPcap para Windows 10 (modelo de controlador NDIS 6.x): SoftEtherVPN/Win10Pcap , SoftEther VPN Project, 31/12/2019 , consultado el 09/01/2020.
  24. Bevens, Bridget (31 de julio de 2017). "Se publica el ejercicio 1.11" .
  25. Packet.java en GitHub
  26. "¿Qué puede leer o guardar un archivo PCAP?" . ¿Qué es un archivo PCAP? . Fin .
  • Sitio web oficial , libpcap, tcpdump
  • Sitio web oficial , Npcap
  • Sitio web oficial , WinPcap, WinDump
  • Lista de archivos PCAP disponibles públicamente