2012-07-01 14 views
6

Sono in esecuzione il seguente comando su Ubuntu:Perché è in ascolto sulla porta con Netcat non funziona

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

che include un comando per renderlo ascoltare al 5004.

io mando un RTP-stream alla porta 5004 usando VLC. Quando osservo l'interfaccia loopback in Wireshark, noto pacchetti ICMP con il messaggio "Destinazione irraggiungibile".

Aprire un altro VLC e dirgli di riprodurre i dati in ingresso sulla porta 5004, tutto funziona e lo streaming viene riprodotto.

Cosa devo fare per consentire ad Netcat di ascoltare sulla porta 5004?

risposta

11

penso che è necessario aggiungere il parametro "u" per rendere più ascolto su UDP.

Per impostazione predefinita, netcat funziona in modalità TCP, ma il protocollo RTP è basato su UDP.

"Transmission Control Protocol (TCP), anche se standardizzato per usare RTP, [5] non è normalmente utilizzato in un'applicazione RTP poiché TCP favorisce affidabilità nel tempestività. Invece la maggioranza dei RTP implementazioni sono costruiti sulla User Datagram Protocol (UDP)"

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

+0

Grazie! I seguenti lavori: nc -u -l -p 5004 -v >>/home/anders/Dropbox/netcatFiles/test –

+1

Ho fatto un rapido controllo e Harald Brinkhof ha ragione. "-l -p 5004" non dovrebbe funzionare. Ho il sospetto che tu abbia una vecchia versione di netcat. Quello che ho, che supporta la sintassi -p 5004, riporta la versione 1.10, mentre su un'altra scatola ho una versione che sembra più nuova (più opzioni, ecc.) Che ha le stesse citazioni Harald della pagina manuale. – LSerni

6

non usano -p (man nc (1))

-p SOURCE_PORT Specifica la porta sorgente NC dovrebbe usare, soggetti a restrizioni di privilegio e disponibilità. È un errore utilizzare questa opzione nella giunzione con- con l'opzione -l.

quindi basta specificare

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

Tuttavia, quando ho fatto il comando di cui sopra non ha funzionato. Stato: Attenzione: nome di ricerca inversa non riuscita per '0.0.19.140' e quando lo faccio: nc -u -l -p 5004 -v >>/home/Anders/Dropbox/netcatFiles/test funziona. Ricevo lo stato: Pacchetto ricevuto da 127.0.0.1:32843 -> 127.0.0.1:5004 (locale) –

+0

ho provato con 'nc -l 5004 >> output.txt' per il listener e il tester" echo "| nc 127.0.0.1 5004' per il mittente. Funzionava bene anche se ha bisogno dell'host per il mittente. –

+0

Grazie per la tua risposta e il tuo commento !! Sulla base dell'ultimo commento di Isernis e di alcune ricerche che ho fatto dopo averlo ricevuto: Il manuale a cui si è collegati e la mia versione di nc sembra essere una vecchia versione di nc. Il manuale riporta: nc -l -p port [-opzioni] [nomehost] [porta] –