2012-07-01 19 views
6

estoy corriendo el siguiente comando en Ubuntu:Por qué está escuchando en el puerto con Netcat no trabajar

nc -l -p 5004 -v >> /home/anders/Dropbox/netcatFiles/test 

que incluye un comando para hacer que escuchar a 5004.

estoy enviando un flujo RTP al puerto 5004 usando VLC. Cuando estoy observando la interfaz loopback en Wireshark, veo paquetes ICMP con el mensaje 'Destino inalcanzable'.

Al abrir otro VLC y decirle que reproduzca los datos entrantes en el puerto 5004, todo funciona y se reproduce la transmisión.

¿Qué debo hacer para que Netcat pueda escuchar en el puerto 5004?

Respuesta

11

creo que es necesario agregar el parámetro "-u" para que sea escuche en UDP.

De forma predeterminada, netcat funciona en modo TCP, pero el protocolo RTP está basado en UDP.

"El Protocolo de Control de Transmisión (TCP), aunque estandarizado para utilizar RTP, [5] no se utiliza normalmente en aplicaciones RTP porque TCP favorece fiabilidad sobre la puntualidad. En cambio, la mayoría de los RTP implementaciones se construyen en el User Datagram Protocol (UDP)"

http://en.wikipedia.org/wiki/Real-time_Transport_Protocol

+0

¡Gracias! Los siguientes trabajos: nc -u -l -p 5004 -v >>/home/anders/Dropbox/netcatFiles/test –

+1

Hice una comprobación rápida, y Harald Brinkhof está en lo cierto. "-l -p 5004" no debería estar funcionando. Sospecho que tienes una versión anterior de netcat. La que tengo, que admite su sintaxis -p 5004, informa la versión 1.10, mientras que en otra caja tengo una versión que se ve más nueva (más opciones, etc.) que tiene la misma página manual de citas de Harald. – LSerni

6

no utilizan -p (man nc (1))

-p source_port Especifica el puerto de origen CN debe utilizar, sujeta a las restricciones de privilegios y disponibilidad. Es un error utilizar esta opción en el enlace con la opción -l.

por lo que sólo especifican

nc -l 5004 -v >> /home/anders/Dropbox/netcatFiles/test 
+0

sin embargo, cuando hice el comando anterior no funcionó. Estado: Advertencia: La búsqueda del nombre inverso falló para '0.0.19.140 ' y cuando lo hago: nc -u -l -p 5004 -v >>/home/anders/Dropbox/netcatFiles/test funciona. Obtengo el estado: Recibí el paquete de 127.0.0.1:32843 -> 127.0.0.1:5004 (local) –

+0

probé con 'nc -l 5004 >> output.txt' para el oyente y el probador' echo '"| nc 127.0.0.1 5004' para el emisor. Funcionó bien aunque necesita el host para el remitente. –

+0

¡Gracias por su respuesta y su comentario! Basado en el último comentario de Isernis y alguna investigación que hice después de recibirlo: El manual con el que se vinculó, y mi versión de nc, parece ser una versión anterior de nc. El manual dice: nc -l -p puerto [-options] [hostname] [port] –

Cuestiones relacionadas