En el campo de la administración de redes informáticas , pcap es una interfaz de programación de aplicaciones (API) para capturar el tráfico de la red . Si bien el nombre es una abreviatura de captura de paquetes , no es el nombre propio de la API. Los sistemas similares a Unix implementan pcap en la biblioteca libpcap ; para Windows , hay un puerto de libpcap llamado WinPcap que ya no es compatible o desarrollado, y un puerto llamado Npcap para Windows 7 y versiones posteriores que aún es compatible.
Desarrollador (es) | El equipo de Tcpdump |
---|---|
Lanzamiento estable | 1.10.0 / 30 de diciembre de 2020 [1] |
Repositorio | libpcap en GitHub |
Escrito en | C |
Sistema operativo | Linux , Solaris , FreeBSD , NetBSD , OpenBSD , macOS , otros similares a Unix |
Tipo | Biblioteca para captura de paquetes |
Licencia | BSD [2] |
Sitio web | www |
Desarrollador (es) | Tecnología Riverbed |
---|---|
Lanzamiento final | 4.1.3 / 8 de marzo de 2013 [3] |
Sistema operativo | Ventanas |
Tipo | Biblioteca para captura de paquetes |
Licencia | Freeware |
Sitio web | www |
Desarrollador (es) | el proyecto Nmap |
---|---|
Lanzamiento estable | 1,30 / 9 de abril de 2021 [4] |
Sistema operativo | Ventanas |
Tipo | Biblioteca para captura de paquetes |
Sitio web | nmap |
El software de monitoreo puede usar 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 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 , .NET y lenguajes de scripting generalmente usan un contenedor ; libpcap o WinPcap no proporcionan tales envoltorios. Los programas de C ++ pueden vincularse directamente a la API de C o utilizar un contenedor orientado a objetos.
Características
libpcap, WinPcap, y Npcap proporcionar el paquete de captura y motores de filtrado de muchos de código abierto y herramientas de red comerciales, incluyendo los analizadores de protocolo ( rastreadores de paquetes ), monitores de red , sistemas de detección de intrusiones en la red , el tráfico-generadores y de red-testers.
libpcap, WinPcap y Npcap también admiten guardar paquetes capturados en un archivo y leer archivos que contienen paquetes guardados; las aplicaciones se pueden escribir, usando libpcap, WinPcap o Npcap, para poder capturar el tráfico de red y analizarlo, o leer una captura guardada y analizarla, usando el mismo código de análisis. Un archivo de captura guardado en el formato que usan libpcap, WinPcap y Npcap puede ser leído por aplicaciones que comprendan ese formato, como tcpdump , Wireshark , CA NetMaster o Microsoft Network Monitor 3.x.
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. [5]
Historia
libpcap fue desarrollado originalmente por los desarrolladores de tcpdump en el Network Research Group en Lawrence Berkeley Laboratory . El código de captura de paquetes de bajo nivel, lectura de archivos de captura y escritura de archivos de captura de tcpdump se extrajo y se convirtió en una biblioteca, con la que se vinculó tcpdump. [6] Ahora es desarrollado por el mismo grupo tcpdump.org que desarrolla tcpdump. [7]
bibliotecas pcap para Windows
Si bien libpcap se desarrolló originalmente para sistemas operativos similares a Unix, se creó un puerto exitoso para Windows, llamado WinPcap. No se ha mantenido desde 2013, [8] y se han lanzado varias bifurcaciones de la competencia con nuevas características y soporte para versiones más nuevas de Windows.
WinPcap
WinPcap consta de: [9]
- Controladores x86 y x86-64 para la familia de 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 nivel inferior para los sistemas operativos enumerados, para comunicarse con esos controladores;
- un puerto de libpcap que usa la API ofrecida por las implementaciones de la biblioteca de bajo nivel.
Los programadores del Politecnico di Torino 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. [10]
Debido a que WinPcap usa las API de NDIS 5.x anteriores, no funciona en algunas versiones de Windows 10, que han desaprobado o eliminado esas API en favor de las API de NDIS 6.x más nuevas. También impone algunas limitaciones, como la imposibilidad de capturar etiquetas VLAN 802.1Q en encabezados Ethernet.
Npcap
Npcap es la biblioteca de rastreo de paquetes del Proyecto Nmap para Windows. [11] Está basado en las bibliotecas Winpcap / Libpcap, pero con velocidad, portabilidad, seguridad y eficiencia mejoradas. Npcap ofrece:
- Compatibilidad con NDIS 6 : Npcap utiliza la nueva API NDIS 6 Light-Weight Filter (LWF) en Windows Vista y versiones posteriores (el controlador heredado se usa en XP). Es más rápido que la API obsoleta de NDIS 5.
- Compatibilidad con la API de libpcap más reciente : Npcap proporciona compatibilidad con la API de libpcap más reciente al aceptar libpcap como un submódulo de Git. La última libpcap 1.8.0 ha integrado características y funciones más fascinantes que la obsoleta libpcap 1.0.0 enviada por WinPcap. Además, dado que Linux ya tiene un buen soporte para la última API de libpcap, el uso de Npcap en Windows facilita que el software se base en la misma API tanto en Windows como en Linux.
- Seguridad adicional : Npcap se puede restringir para que solo los administradores puedan rastrear paquetes. Los usuarios que no sean administradores deberán pasar un cuadro de diálogo de Control de cuentas de usuario (UAC) para utilizar el controlador. Esto es conceptualmente similar a UNIX, donde generalmente se requiere acceso de root para capturar paquetes. El controlador también tiene habilitadas las características de seguridad de Windows ASLR y DEP .
- Compatibilidad con WinPcap : si se selecciona, Npcap utilizará los directorios DLL de estilo WinPcap ("c: \ Windows \ System32") y el nombre del servicio ("npf"), lo que permitirá que el software creado con WinPcap utilice de forma transparente Npcap en su lugar. Si no se selecciona el modo de compatibilidad, Npcap se instala en una ubicación diferente con un nombre de servicio diferente para que ambos controladores puedan coexistir en el mismo sistema.
- Captura de paquetes de bucle invertido : Npcap puede rastrear paquetes de bucle invertido (transmisiones entre servicios en la misma máquina) mediante la plataforma de filtrado de Windows (WFP). Después de la instalación, Npcap creará un adaptador llamado Npcap Loopback Adapter.
- Inyección de paquetes de bucle invertido : Npcap también puede enviar paquetes de bucle invertido mediante la técnica Winsock Kernel (WSK).
- Captura de paquetes 802.11 sin procesar : Npcap puede ver paquetes 802.11 en lugar de paquetes Ethernet falsos en adaptadores inalámbricos ordinarios.
Win10Pcap
La implementación de Win10Pcap también se basa en el modelo de controlador NDIS 6 y funciona de manera estable con Windows 10 . [12]
Sin embargo, en 2020, el proyecto ha estado inactivo desde 2016. [13]
Programas que usan libpcap
- Apache Drill , un motor SQL de código abierto para el análisis interactivo de conjuntos de datos a gran escala.
- Bit-Twist , un generador y editor de paquetes Ethernet basado en libpcap para BSD, Linux y Windows.
- Cain and Abel , una herramienta de recuperación de contraseña para Microsoft Windows
- EtherApe , una herramienta gráfica para monitorear el tráfico de la red y el uso del ancho de banda en tiempo real.
- Firesheep , una extensión para el navegador web Firefox que captura paquetes y realiza el secuestro de sesiones
- iftop , una herramienta para mostrar el uso de ancho de banda (como top para el tráfico de red)
- Kismet , para LAN inalámbricas 802.11
- L0phtCrack , una aplicación de auditoría y recuperación de contraseñas .
- McAfee ePolicy Orchestrator, función de detección de sistemas no autorizados
- ngrep , también conocido como "network grep ", aísla cadenas en paquetes, muestra datos de paquetes en una salida amigable para los humanos.
- Nmap , una utilidad de red de escaneo de puertos y huellas dactilares
- Pirni , una herramienta de seguridad de red 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 la red.
- Symantec Data Loss Prevention, utilizado para monitorear e identificar datos confidenciales, rastrear su uso y ubicación. Las políticas 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 un análisis más detallado, y WinDump, el puerto de Windows de tcpdump.
- el Bro IDS y supervisión de la red plataforma.
- URL Snooper , localice las URL de los archivos de audio y video para permitir su grabación.
- WhatPulse , una aplicación de medición estadística (entrada, red, tiempo de actividad).
- Wireshark (anteriormente Ethereal), una herramienta gráfica de captura de paquetes y análisis de protocolos.
- Software XLink Kai que permite jugar en línea a varios juegos de consola LAN
- Xplico , una herramienta de análisis forense de redes (NFAT).
Bibliotecas contenedoras para libpcap
- C ++ : Libtins , Libcrafter , PcapPlusPlus
- Perl : Net :: Pcap
- Python : python-libpcap , Pcapy , WinPcapy
- Ruby : PacketFu
- Moho : 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 de Andreas Krennmair, bifurcación pcap del anterior de Miek Gieben, pcap desarrollado como parte del paquete gopacket
- Erlang : epcap
- Node.js : node_pcap
Código que no es pcap que lee archivos pcap
- Python : archivo pycap
- Python : PyPCAPKit
Referencias
- ^ "última versión de tcpdump y libpcap" . tcpdump.org . Consultado el 4 de enero de 2021 .
- ^ "Licencia tcpdump y libpcap" . tcpdump.org . Consultado el 2 de mayo de 2020 .
- ^ "Registro de cambios de WinPcap" .
- ^ "npcap / CHANGELOG.md" .
- ^ "Registro IANA de aplicación para aplicación tipo MIME / vnd.tcpdump.pcap" .
- ^ 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 .
- ^ "Elementos internos 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 tecnologías CACE" (comunicado de prensa). Tecnología Riverbed . 2010-10-21. Archivado desde el original el 8 de marzo de 2013 . Consultado el 21 de octubre de 2010 .
- ^ "Npcap" .
- ^ "Win10Pcap: WinPcap para Windows 10" .
- ^ Win10Pcap: WinPcap para Windows 10 (modelo de controlador NDIS 6.x): SoftEtherVPN / Win10Pcap , SoftEther VPN Project, 2019-12-31 , recuperado 2020-01-09
enlaces externos
- Sitio web oficial , libpcap, tcpdump
- Sitio web oficial , WinPcap, WinDump
- Sitio web oficial , Npcap
- Lista de archivos PCAP disponibles públicamente