¿Funciona en Windows? Intenté este comando aquí y no fue reconocido.
Diogo
44
¡Iba a publicar esto como mi respuesta! = p Puede descargar netcat aquí: joncraton.org/files/nc111nt.zip Es una herramienta bastante antigua, pero creo que la gente no se dio cuenta de lo útil que puede ser.
cutrightjm
@Diogo Rocha Sabes que es un programa descargado, ¿correcto?
cutrightjm
3
No lo sabía ... Sería bueno que el equipo publicara el enlace para descargarlo ...
Diogo
@DiogoRocha: eliminé el enlace falso a netcat. El sitio oficial está en sourceforge. Es parte de casi todos los repositorios de empaque que existen, por lo que no he instalado desde el origen durante 10 años seguidos.
Prueba iperf. Hay una versión para Windows. Simplemente puede ejecutarlo como iperf -s -p 1234, y escuchará en el puerto 1234. Luego puede conectarse a ese puerto desde una máquina remota haciendo algo como:
Necesitaría obtener iperf.exeo portqry.exepara los dos últimos. iPerf no está estrictamente diseñado para esta tarea, pero es excelente para solucionar problemas de conectividad, disponibilidad de ancho de banda, enlaces de prueba de estrés, etc.
El grifo y la manguera de herramientas netpipes siempre me han servido bien, simplificando y para que mis programas los utilicen a través de la red.stdinstdout
El paquete netpipes hace que las transmisiones TCP / IP puedan utilizarse en scripts de shell. También puede simplificar el código cliente / servidor al permitir que el programador omita todos los tediosos bits de programación relacionados con los sockets y se concentre en escribir un filtro u otro servicio.
EXAMPLES
This creates a TCP-IP socket on the local machine bound to port 3000.
example$ faucet 3000 --out --verbose tar -cf - .
Every time some process (from any machine) attempts to connect to port 3000 on this machine the faucet program will fork(2) a process and the child
will exec(2) a
tar -cf - .
Este es el uso perfecto para Wireshark , un analizador de paquetes y protocolos que se encuentra entre la pila de redes de Windows / Linux.
Le permitirá ver todos los paquetes TCP / UDP que recibe toda su máquina, independientemente del puerto. También puede indicarle al programa que filtre solo los paquetes enviados a través de un determinado puerto para su posterior análisis. La ventaja de Wireshark es que proporciona mensajes muy detallados para cada paquete: origen, destino, puerto, direcciones MAC, datos, fechas, sumas de verificación, etc. Herramienta muy útil (¡y gratuita!).
bromea, ¿desde cuándo Wireshark se comporta como un servicio que escucha en un puerto? Registra pasivamente el tráfico.
Florenz Kley
@FlorenzKley tienes razón, no ... Interpreté su pregunta como cómo ver el tráfico de red en un puerto determinado, ya que no sería trivial que el OP solo ejecute dos copias de su programa en una vez en el mismo puerto (para ver qué sucede si otro programa ya está escuchando en el puerto)?
Avance
0
TCP Listen es la MEJOR respuesta en mi humilde opinión. Miré y me gustó TCP Builder, pero NECESITAS derechos de administrador para ejecutar esa aplicación, NO los necesitas con TCP listener, y también necesitas instalar TCP Builder, descomprimir y copiar un montón de archivos, mientras que TCP Listener es 1 EXE, nada más.
TCP Listener tampoco necesitaba derechos de administrador, y cuando lo escaneé AV, nada dijo que fuera malicioso. Builder tenía 1 AV en Virustotal que decía que era malo, pero resultó ser un falso positivo (espero) :)
Si bien conseguí que Builder ejecutara sin derechos de administrador, no pudo conectar el socket mientras que Listener sí. Una vez que hice todas mis pruebas, pude eliminar el archivo 1 de Listener y todo fue como antes.
Netcat hubiera sido agradable, pero no encontré una versión que funcionara con el servidor 2012 o posterior. Entonces, para probar completamente si el firewall de la red y los firewalls locales permiten la conexión de puertos TCP específicos, TCP listener parece ser la mejor herramienta para este trabajo.
Nota: algunos programas de seguridad de malware o firewall pueden marcar este archivo como un virus. Debido a lo que puede hacer este programa, es posible que se haya incluido en programas de malware, pero no es malware en sí mismo y, a partir de 2017-10-04, este archivo es escaneado como limpio por VirusTotal (marcado como "software de riesgo" por un solo escáner). Vea la nota de la comunidad en la url y el escaneo
Mokubai
0
Me gusta netcat en Windows, pero no siempre es posible descargar e instalar cosas de Internet. Quizás esté configurando un servidor de producción y quiera probar las reglas de su firewall antes (y sin) instalar nada.
La mayoría (¿todos?) De los servidores de Windows tienen un compilador JScript.net. Puede escribir un simple archivo por lotes de Windows antiguo que también sea un programa JScript.net válido, un programa políglota .
El archivo por lotes contiene código JScript.Net básico que crea un socket sincrónico, escúchalo, acepta la conexión y suelta todo lo que viene a él:
listener.Bind(localEndPoint);
listener.Listen(10);
// Start listening for connections.
while (true) {
var data:byte[] = new byte[1024];
Console.WriteLine("Waiting for a TCP connection on {0}:{1}...", ipAddress, port);
var handler = listener.Accept();
Console.WriteLine("Connected to {0}", handler.RemoteEndPoint);
try {
// An incoming connection needs to be processed.
while (handler.Receive(data) > 0);
} finally {
Console.WriteLine("Disconected\n");
}
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
El programa compilado se guardará como %APPDATA%\listener.exe. Puede ejecutarse por sí solo, copiado en un servidor, pero la compilación del archivo por lotes políglota funcionará independientemente de cualquier obstáculo de seguridad en su camino.
¿Esta herramienta permite la apertura del puerto TCP en la máquina que está ejecutando?
Pimp Juice IT
No estoy al tanto de eso ... es solo una vista como su nombre lo sugiere
Patrik Mihalčin
Pero la pregunta es / fue: "¿Hay alguna utilidad básica para abrir un puerto TCP de red específico en mi máquina?". En TCPView puede cerrar una conexión, pero eso es lo único que se puede cambiar en el sistema.
Respuestas:
netcat debe hacer lo que quieras. Haga que escuche en su máquina y haga eco de cosas en STDOUT:
cuando desee que se cierre cuando finalice la conexión, no use -k
fuente
Tienes
TCP Listen: http://www.allscoop.com/tcp-listen.php
Port Peeker: http://www.linklogger.com/portpeeker.htm
Utilidad de línea de comandos de Microsoft Portqry.exe
fuente
Prueba iperf. Hay una versión para Windows. Simplemente puede ejecutarlo como
iperf -s -p 1234
, y escuchará en el puerto 1234. Luego puede conectarse a ese puerto desde una máquina remota haciendo algo como:Necesitaría obtener
iperf.exe
oportqry.exe
para los dos últimos. iPerf no está estrictamente diseñado para esta tarea, pero es excelente para solucionar problemas de conectividad, disponibilidad de ancho de banda, enlaces de prueba de estrés, etc.fuente
Parece que esta utilidad hará exactamente lo que desea, incluso mostrando los datos recibidos si lo desea: http://www.drk.com.ar/builder.php
Tiene una GUI en lugar de solo una línea de comando, una ventaja para algunos.
fuente
El grifo y la manguera de herramientas netpipes siempre me han servido bien, simplificando y para que mis programas los utilicen a través de la red.
stdin
stdout
Similar a netcat .
Descripción de Ubuntu:
fuente
Este es el uso perfecto para Wireshark , un analizador de paquetes y protocolos que se encuentra entre la pila de redes de Windows / Linux.
Le permitirá ver todos los paquetes TCP / UDP que recibe toda su máquina, independientemente del puerto. También puede indicarle al programa que filtre solo los paquetes enviados a través de un determinado puerto para su posterior análisis. La ventaja de Wireshark es que proporciona mensajes muy detallados para cada paquete: origen, destino, puerto, direcciones MAC, datos, fechas, sumas de verificación, etc. Herramienta muy útil (¡y gratuita!).
fuente
TCP Listen es la MEJOR respuesta en mi humilde opinión. Miré y me gustó TCP Builder, pero NECESITAS derechos de administrador para ejecutar esa aplicación, NO los necesitas con TCP listener, y también necesitas instalar TCP Builder, descomprimir y copiar un montón de archivos, mientras que TCP Listener es 1 EXE, nada más.
TCP Listener tampoco necesitaba derechos de administrador, y cuando lo escaneé AV, nada dijo que fuera malicioso. Builder tenía 1 AV en Virustotal que decía que era malo, pero resultó ser un falso positivo (espero) :)
Si bien conseguí que Builder ejecutara sin derechos de administrador, no pudo conectar el socket mientras que Listener sí. Una vez que hice todas mis pruebas, pude eliminar el archivo 1 de Listener y todo fue como antes.
Netcat hubiera sido agradable, pero no encontré una versión que funcionara con el servidor 2012 o posterior. Entonces, para probar completamente si el firewall de la red y los firewalls locales permiten la conexión de puertos TCP específicos, TCP listener parece ser la mejor herramienta para este trabajo.
¡Disfrutar!
fuente
Puedes usar la versión de Windows de netcat :
fuente
Me gusta netcat en Windows, pero no siempre es posible descargar e instalar cosas de Internet. Quizás esté configurando un servidor de producción y quiera probar las reglas de su firewall antes (y sin) instalar nada.
La mayoría (¿todos?) De los servidores de Windows tienen un compilador JScript.net. Puede escribir un simple archivo por lotes de Windows antiguo que también sea un programa JScript.net válido, un programa políglota .
tl; dr;
polyglot-listener.bat 1234
para escuchar en el puerto1234
.La idea es encontrar el
jsc.exe
ejecutable en su sistema:Y úselo para compilar el archivo por lotes.
El archivo por lotes contiene código JScript.Net básico que crea un socket sincrónico, escúchalo, acepta la conexión y suelta todo lo que viene a él:
El programa compilado se guardará como
%APPDATA%\listener.exe
. Puede ejecutarse por sí solo, copiado en un servidor, pero la compilación del archivo por lotes políglota funcionará independientemente de cualquier obstáculo de seguridad en su camino.fuente
TCPView del kit de herramientas Sysinternals proporciona una visión general muy agradable.
fuente