Wyślij i odbieraj pakiety UDP przez Linux CLI

Wyślij i odbieraj pakiety UDP przez Linux CLI
Wiemy już o dwóch głównych protokołach warstwy transportowej, takich jak TCP i UDP. Aby uzyskać więcej informacji na temat TCP i UDP, możesz sprawdzić sekcję referencyjną. W tym artykule dowiemy się, jak wysyłać i odbierać pakiety UDP za pośrednictwem interfejsu linii poleceń Linux (CLI) za pomocą NC (głównie) polecenie.

Oczekiwania:

Oto kluczowe punkty do nauczenia się z tego artykułu

  1. Rozumieć NC polecenie w Linux.
  2. Używać NC Polecenie do wysyłania i odbierania pakietów UDP za pośrednictwem sieci.
  3. Wyślij czytelne zdania przez człowieka NC Komenda.
  4. Przechwycić pakiet UDP wysłany przez NC Komenda.
  5. Sprawdź pakiet sieciowy w Wireshark.
  6. Znajdź wszelkie inne polecenie inne niż NetCat dla Linux.

Polecenie netcat:

Polecenie NetCat (NC) jest domyślnie zainstalowane w systemie Linux. Otwórz jeden terminal [skrót alt+ctrl+t] i użyj poniżej polecenia, aby sprawdzić, czy NC jest obecny, czy nie.

$ nc

Oto oczekiwane wyjście

To jest NC z pakietu NetCat-Openbsd. Dostępna jest alternatywna NC
W pakiecie netcat-tradycyjnym.
Zastosowanie: nc [-46bcddhjklnrstuuvzz] [-i długość] [-i interwał] [-o długość]
[-P proxy_username] [-p źródło_port] [-q sekundy] [-s Źródło]
[-T toskeyword] [-v rtable] [-w limit czasu] [-x proxy_protocol]
[-x proxy_address [: port]] [miejsce docelowe] [port]

Oznacza to, że polecenie NC już istnieje w Linux.

Ogólny schemat:

Wyślij pakiet UDP:

Weźmy przykład, jakbyśmy wyśle ​​pakiet UDP z systemu A do systemu B. Tak więc, w koncepcji serwera-klienta, musimy uruchomić serwer po stronie systemu B i klienta po stronie systemu.

Mamy również prawidłowe adresy IP.

System IP: 192.168.1.6
System B IP: 192.168.1.102

Server Start:

Aby uruchomić Sever przy użyciu polecenia NC, użyj poniżej polecenia w terminalu systemowym B

$ nc -u -l 9999

Oto zrzut ekranu

To polecenie nie ma żadnego wyjścia do wyświetlenia już teraz. To jest tylko tryb słuchania na porcie 9999.

Uruchom klient:

Aby połączyć się z serwerem za pomocą polecenia NC, użyj poniżej polecenia w systemie

$ nc -u 192.168.1.102 9999

Teraz system A musi połączyć się z systemem B. Dlatego podaliśmy adres IP serwera i numer portu.

Oto zrzut ekranu

Sprawdź połączenie:

Możemy sprawdzić poniższe polecenie potwierdzenia o połączeniu klienta do portu serwera.

$ netstat | GREP 9999

Oto zrzut ekranu

Wyślij pakiety UDP:

Teraz możemy wysłać pakiet UDP z systemu A do B i odwrotnie.

Krok 1:

Teraz przejdź do systemu A i wyślij jakieś zdania, takie jak

„Cześć, jestem z Linuxhint [System A 192.168.1.6] ”

Zrzut ekranu:

Krok 2:

Powinniśmy to zobaczyć po stronie systemu B. Oto zrzut ekranu

Możemy również wysłać pakiety UDP z systemu B do systemu A.

Krok 1:

Przejdź do systemu B i wyślij zdanie jak

„Cześć, jestem z Linuxhint [System B 192.168.1.102] "

Oto zrzut ekranu z systemu B

Krok 2:

Oto zrzut ekranu z systemu A

Sprawdź pakiety w Wireshark:

Teraz, gdy wysyłaliśmy pakiety UDP z systemu A do systemu B i VICE, możemy uruchomić Wireshark w systemie A lub systemie B. Tutaj mamy plik przechwytywania, wykonajmy analizę i potwierdźmy, czy ten serwer i komunikacja z klientem używały protokołu UDP.

Zauważ, że przeanalizujemy tylko pierwszą komunikację:

System A wysłał:

„Cześć, jestem z Linuxhint [System A 192.168.1.6] ”

Do:

System B [192.168.1.102].

Będziemy używać filtra „UDP.port == 9999 ” Aby uzyskać tylko powiązane pakiety w Wireshark. Analiza z ekranu z ScreensShot z Pewami z przechwytywania Wireshark:

Aby wiedzieć, jak korzystać z Wireshark Patrz poniżej link

https: // linuxhint.com/wireshark_basics_how_to_use/

Inne polecenie do wysyłania pakietów UDP:

Istnieje inna metoda wysyłania pakietów UDP

Uruchom serwer w systemie B:

$ nc -u -l 8000

Uruchom poniżej polecenie w systemie A:

$ echo -n „hello”>/dev/udp/192.168.1.102/8000
192.168.1.102: IP systemu B
8000: port serwera
Wiadomość wysłana: „Witaj”

Ale jesteśmy w stanie wysłać tylko raz „cześć”. Jeśli zabijemy serwer i powtórzymy, to działa.

Wniosek:

Z powyższego ćwiczenia nauczyliśmy się mechanizmu wysyłania niektórych wiadomości za pomocą protokołu UDP. A najlepszą metodą jest użycie NC polecenie w Linux.

Bibliografia:

Aby zrozumieć TCP: https: // linuxhint.com/tcp_packet_capture_analysis/
Aby zrozumieć UDP: https: // Linuxhint.com/udp_wireshark_analysis/