2012-07-01 9 views
6

Używam następujące polecenie na Ubuntu:Dlaczego nasłuchuje na porcie z Netcat nie działa

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

który zawiera polecenie, aby go słuchać w 5004.

jestem wysyłanie strumienia RTP do portu 5004 przy użyciu VLC. Kiedy obserwuję interfejs pętli zwrotnej w Wireshark, zauważam pakiety ICMP z komunikatem "Miejsce docelowe nieosiągalne".

Otwarcie kolejnego VLC i nakazanie mu odtworzenia danych przychodzących na porcie 5004, wszystko działa i odtwarzany jest strumień.

Co należy zrobić, aby Netcat mógł nasłuchiwać na porcie 5004?

Odpowiedz

11

myślę, że trzeba dodać parametr „-u”, aby go słuchać na UDP.

Domyślnie netcat działa w trybie TCP, ale protokół RTP jest oparty na protokole UDP.

„Transmission Control Protocol (TCP), chociaż standaryzowany na RTP użyć, [5] nie jest zwykle używany w aplikacji RTP ponieważ TCP sprzyja niezawodność nad terminowością. Zamiast tego większość wdrożeń RTP są zbudowane na użytkownika Datagram Protocol (UDP)”

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

+0

Dzięki! Następujące prace: nc -u -l -p 5004 -v >>/home/anders/Dropbox/netcatFiles/test –

+1

Zrobiłem szybki test, a Harald Brinkhof ma rację. "-l -p 5004" nie powinno działać. Podejrzewam, że masz starą wersję netcata. Ten, który mam, który obsługuje twoją składnię -p 5004, raportuje wersję 1.10, podczas gdy na innym polu mam wersję, która wygląda na nowszą (więcej opcji itd.), Która ma tę samą stronę podręcznika, co Harald cytuje. – LSerni

6

nie używać -p (man nc (1))

-p source_port Określa port źródłowy nc powinny stosować, z zastrzeżeniem ograniczeń przywilej i dostępności. Błędem jest użycie tej opcji w połączeniu ze złączem -l opcji.

tak właśnie określił

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

jednak kiedy zrobiłem powyższe polecenie to nie działa. Status: Ostrzeżenie: Wyszukiwanie odwrotnej nazwy nie powiodło się dla '0.0.19.140 ' , a kiedy to zrobię: nc -u -l -p 5004 -v >>/home/anders/Dropbox/netcatFiles/test to działa. Otrzymuję status: Otrzymany pakiet od 127.0.0.1:32843 -> 127.0.0.1:5004 (lokalny) –

+0

testowałem z 'nc -l 5004 >> output.txt' dla testera i testera" echo "" | nc 127.0.0.1 5004' dla nadawcy. Dobrze działa, chociaż potrzebuje hosta dla nadawcy. –

+0

Dzięki za odpowiedź i komentarz !! Na podstawie ostatniego komentarza Isernisa i niektórych badań, które zrobiłem po otrzymaniu go: Podręcznik, do którego linkowałem i moja wersja nc, wydaje się być dla starej wersji nc. Instrukcja brzmi: nc -l -p port [-opcje] [nazwa hosta] [port] –

Powiązane problemy