Jak uzyskać odpowiedź UdP za pomocą NetCat

9

Próbuję zrobić coś takiego:

echo "request" | nc -u 1.1.1.1 9999 > response.txt

Widzę, że odpowiedź pochodzi z serwera (z tcpdump) po wykonaniu tej linii.

Jednak moja odpowiedź.txt pozostaje pusta.

Czy istnieje sposób, aby to zdobyć?

scarrydeveloper151012
źródło
Czy masz zaporę ogniową? Widok pakietu przez tcpdump nie oznacza, że ​​zostanie on zaakceptowany.
Zoredache,

Odpowiedzi:

5

Netcat rozpoczyna „mówienie” UDP (domyślnie jest to TCP), podając opcję wiersza polecenia -u. Oto przykład połączenia z serwerem czasu RFC 867 za pomocą UDP. Zauważ, że adres IP lub nazwa DNS drugiego hosta jest określony jako pierwszy, a numer portu jest określony jako drugi - podobnie jak większość programów Telnet. Po nawiązaniu połączenia prawdopodobnie będziesz musiał nacisnąć klawisz Enter, aby serwer czasu wysłał Ci bieżącą godzinę. (może to twój problem)

nc -u igor.alcpress.com 13

Czw 15 września 14:41:57 2005

Ponieważ UDP nie jest protokołem zorientowanym na połączenie, połączenie pozostanie „otwarte” do momentu zakończenia programu przez naciśnięcie Ctrl-C.

================================================== ====================

Czy odpowiada, jeśli nie przekierowujesz danych wyjściowych?
próbować :echo "request" | nc -u 1.1.1.1 9999 | tee response.txt


źródło
Witam i dziękuję za odpowiedź. Sekwencja poleceń, tak jak została napisana, kończy się zaraz po jej wykonaniu na moim komputerze. Jednak problem został dla mnie rozwiązany. Nie wiedziałem, że mogę po prostu uruchomić nc -u 1.1.1.1 9999 i wysyłać / odbierać dane w nc podczas jego działania.