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 ]
- Controladores x86 y x86-64 para la familia Windows NT ( Windows NT 4.0 , 2000 , XP , Server 2003 , Vista , 7 , 8 y 10 ), que utilizan la especificación de interfaz de controlador de red (NDIS) 5.x para leer paquetes directamente desde un adaptador de red ;
- implementaciones de una biblioteca de bajo nivel para los sistemas operativos mencionados, para comunicarse con esos controladores;
- una adaptación de libpcap que utiliza la API ofrecida por las implementaciones de la biblioteca de bajo nivel.
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:
- Npcap puede restringirse de modo que solo los administradores puedan capturar paquetes. [ 18 ]
- Npcap es capaz de interceptar e inyectar paquetes de bucle (transmisiones entre servicios en la misma máquina) mediante el uso de la Plataforma de filtrado de Windows . [ 19 ]
- Npcap puede capturar tramas WiFi 802.11 en una variedad de adaptadores de red comúnmente disponibles. [ 20 ]
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
- Apache Drill , un motor SQL de código abierto para el análisis interactivo de conjuntos de datos a gran escala. [ 24 ] [ 25 ]
- EndaceProbe de Endace , un sistema de captura de paquetes a gran escala que registra continuamente semanas o meses de tráfico de red. [ 26 ]
Referencias
- ↑ "Última versión de tcpdump y libpcap" . tcpdump.org . Consultado el 10 de junio de 2026 .
- ↑ "Licencia de tcpdump y libpcap" . tcpdump.org . Consultado el 2 de mayo de 2020 .
- ↑ "Registro de cambios de WinPcap" .
- ↑ "npcap/CHANGELOG.md" . GitHub .
- ↑ Formato de archivo de captura PCAP . IETF . 23 de julio de 2023. ID draft-ietf-opsawg-pcap.
- ↑ "Formato de archivo de captura PCAP" . 1 de marzo de 2024.
- ↑ Turner, Glen (30-03-2011). "Registro IANA de la solicitud para el tipo MIME application/vnd.tcpdump.pcap" . IANA . Recuperado el 25-02-2023 .
- ↑ McCanne, Steve. "libpcap: una arquitectura y metodología de optimización para la captura de paquetes" (PDF) . Consultado el 27 de diciembre de 2013 .
- ↑ "Repositorio público TCPDUMP/LIBPCAP" . Consultado el 27 de diciembre de 2013 .
- ↑ "Noticias de WinPcap" . Consultado el 6 de noviembre de 2017 .
- ↑ "Funcionamiento interno de WinPcap" . Consultado el 27 de diciembre de 2013 .
- ↑ "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 .
- ↑ "WinPcap · Noticias" . WinPcap . 8 de marzo de 2013.
- ↑ "Npcap" .
- ↑ "Filtro de controladores" . 15 de diciembre de 2021.
- ↑ "Lanzamiento de Npcap 1.20" . GitHub .
- ↑ "Actualización del software WinPcap a Npcap" . Desarrollo de software con Npcap . Consultado el 25 de febrero de 2023 .
- ↑ "Opciones del instalador gráfico" . Guía del usuario de Npcap . Consultado el 25 de febrero de 2023 .
- ↑ "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 .
- ↑ "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 .
- ↑ "Licencia Npcap" . GitHub .
- ↑ "Win10Pcap: WinPcap para Windows 10" .
- ↑ Win10Pcap: WinPcap para Windows 10 (modelo de controlador NDIS 6.x): SoftEtherVPN/Win10Pcap , SoftEther VPN Project, 31/12/2019 , consultado el 09/01/2020.
- ↑ Bevens, Bridget (31 de julio de 2017). "Se publica el ejercicio 1.11" .
- ↑ Packet.java en GitHub
- ↑ "¿Qué puede leer o guardar un archivo PCAP?" . ¿Qué es un archivo PCAP? . Fin .
Enlaces externos
- Sitio web oficial , libpcap, tcpdump
- Sitio web oficial , Npcap
- Sitio web oficial , WinPcap, WinDump
- Lista de archivos PCAP disponibles públicamente
- analizadores de red
- Software relacionado con redes Unix
- Software relacionado con redes de Windows
- Software relacionado con la red de macOS
- Software de seguridad de Windows
- Software de seguridad para macOS
- Software libre programado en C
- Software libre multiplataforma
- Software gratuito de gestión de redes
- Software que utiliza la licencia BSD.