netcat (a menudo abreviado como nc ) es una utilidad de red informática para leer y escribir en conexiones de red mediante TCP o UDP . El comando está diseñado para ser un back-end confiable que puede usarse directamente o fácilmente controlado por otros programas y scripts. Al mismo tiempo, es una herramienta de investigación y depuración de redes rica en funciones, ya que puede producir casi cualquier tipo de conexión que el usuario pueda necesitar y tiene una serie de capacidades integradas.
Es capaz de realizar escaneo de puertos , transferencia de archivos y escucha de puertos.
Las características del netcat original incluyen: [2]
Las reescrituras como GNU y OpenBSD admiten funciones adicionales. Por ejemplo, nc de OpenBSD admite TLS , y GNU netcat admite de forma nativa un modo de túnel que admite UDP y TCP (opcionalmente, permite que uno se tunelice sobre el otro) en un solo comando, [3] donde otras versiones pueden requerir canalización de datos desde una instancia de netcat. a otro.
La versión original de netcat era un programa Unix . La última versión (1.10) se publicó en marzo de 1996. [4]
Existen varias implementaciones en sistemas POSIX , incluidas reescrituras desde cero como GNU netcat [5] u OpenBSD netcat [6] , el último de los cuales admite IPv6 y TLS . La versión OpenBSD ha sido portada a la base FreeBSD , [7] Windows/Cygwin, [8] y Linux. [9] Mac OS X viene con netcat instalado a partir de OSX 10.13 o los usuarios pueden usar MacPorts para instalar una variante. [10]
Se incluye una versión para DOS de netcat llamada NTOOL en el grupo de paquetes FreeDOS Networking . [11] Se basa en la pila WatTCP y tiene la licencia pública de la Unión Europea versión 1.1. [12]
Los puertos conocidos para sistemas integrados incluyen versiones para Windows CE (llamada "Netcat 4 wince" [13] ) o para iPhone . [14]
BusyBox incluye por defecto una versión ligera de netcat.
Solaris 11 incluye la implementación de netcat basada en OpenBSD netcat.
Socat [15] es una variante más compleja de netcat . Es más grande y más flexible y tiene más opciones que deben configurarse para una tarea determinada. El 1 de febrero de 2016, Santiago Zanella-Beguelin y Microsoft Vulnerability Research emitieron un aviso de seguridad sobre un parámetro compuesto Diffie-Hellman que había sido codificado en la implementación OpenSSL de socat . [16] La improbabilidad de que se haya introducido involuntariamente un compuesto donde se requiere un número primo ha llevado a la sospecha de sabotaje para introducir una vulnerabilidad de software de puerta trasera . [17] Este error de socat afectó a las versiones 1.7.3.0 y 2.0.0-b8 y se corrigió en las siguientes versiones de 1.7.3.1 y 2.0.0-b9. [dieciséis]
Cryptcat [18] es una versión de netcat con capacidades de cifrado de transporte integradas.
A mediados de 2005, Nmap anunció otra encarnación de netcat llamada Ncat. [19] Presenta nuevas posibilidades como "Intermediación de conexiones", redirección TCP/UDP, compatibilidad con clientes y servidores SOCKS4, capacidad de "encadenar" procesos Ncat, proxy HTTP CONNECT (y encadenamiento de proxy), compatibilidad con conexión/escucha SSL y dirección IP. /filtrado de conexión. Al igual que Nmap , Ncat es multiplataforma .
En algunos sistemas, las versiones modificadas o utilidades netcat similares llevan los nombres de comando nc
, ncat
, pnetcat
, socat
, sock
, socket
, sbd
.
Ncat es una herramienta similar a netcat proporcionada por la suite Nmap . [19] "Si bien Ncat no se basa en ningún código del Netcat “tradicional” (o cualquier otra implementación), Ncat definitivamente se basa en Netcat en espíritu y funcionalidad". [20]
Las características de Ncat incluyen: capacidad de encadenar Ncats, redirigir puertos TCP y UDP a otros sitios, soporte SSL y conexiones proxy a través de servidores proxy SOCKS4 o HTTP (método CONNECT) (también con autenticación de proxy opcional). [21]