La mise en réseau

Envoyer et recevoir des paquets UDP via Linux CLI

Envoyer et recevoir des paquets UDP via Linux CLI
Nous connaissons déjà deux principaux protocoles de couche de transport comme TCP et UDP. Pour plus d'informations sur TCP et UDP, vous pouvez consulter la section de référence. Dans cet article, nous allons apprendre comment envoyer et recevoir des paquets UDP via l'interface de ligne de commande Linux (CLI) en utilisant NC (principalement) commande.

Attentes:

Voici les points clés à retenir de cet article

  1. Comprendre NC commande sous Linux.
  2. Utiliser NC commande pour envoyer et recevoir des paquets UDP via le réseau.
  3. Envoyez des phrases lisibles par l'homme à travers NC commander.
  4. Capturez le paquet UDP envoyé par NC commander.
  5. Vérifier le paquet réseau dans Wireshark.
  6. Découvrez toute autre commande autre que netcat pour Linux.

Commande Netcat :

La commande Netcat(nc) est installée par défaut dans le système d'exploitation Linux. Ouvrez un terminal [Raccourci Alt+Ctrl+t] et utilisez la commande ci-dessous pour vérifier si nc est présent ou non.

$nc

Voici le rendu attendu

Ceci est nc du paquet netcat-openbsd. Une alternative nc est disponible
dans le package netcat-traditionnel.
utilisation : nc [-46bCDdhjklnrStUuvZz] [-I longueur] [-i intervalle] [-O longueur]
[-P proxy_username] [-p source_port] [-q secondes] [-s source]
[-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol]
[-x proxy_address[:port]] [destination] [port]

Cela signifie que la commande nc existe déjà sous Linux.

Schéma de configuration générale :

Envoyer un paquet UDP :

Prenons un exemple comme si nous envoyions un paquet UDP du système A au système B. Ainsi, dans le concept serveur-client, nous devons exécuter le serveur du côté du système B et le client du côté du système A.

Nous avons également des adresses IP valides.

IP du système A : 192.168.1.6
IP du système B : 192.168.1.102

Démarrer le serveur :

Pour démarrer le serveur à l'aide de la commande nc, utilisez la commande ci-dessous dans le terminal System B

$ nc -u -l 9999

Voici la capture d'écran

Cette commande n'a aucune sortie à afficher pour le moment. C'est juste le mode d'écoute sur le port 9999.

Démarrer le client :

Pour vous connecter au serveur à l'aide de la commande nc, utilisez la commande ci-dessous dans le terminal du système A

$ nc -u 192.168.1.102 9999

Maintenant, le système A doit se connecter au système B. Nous avons donc fourni l'adresse IP du serveur et le numéro de port.

Voici la capture d'écran

Vérifiez la connexion :

Nous pouvons vérifier la commande ci-dessous pour la confirmation de la connexion du client au port du serveur.

$ netstat | grep 9999

Voici la capture d'écran

Envoyez des paquets UDP :

Maintenant, nous pouvons envoyer des paquets udp du système A vers B et vice versa.

Étape 1:

Allez maintenant au système A et envoyez des phrases comme

"Bonjour, je viens de LinuxHint [Système A 192.168.1.6]"

Capture d'écran:

Étape 2:

Nous devrions pouvoir voir cela dans le côté du système B. Voici la capture d'écran

Nous pouvons également envoyer des paquets UDP du système B au système A.

Étape 1:

Allez dans le système B et envoyez une phrase comme

"Bonjour, je viens de LinuxHint [Système B 192.168.1.102]"

Voici la capture d'écran du système B

Étape 2:

Voici la capture d'écran du système A

Vérifiez les paquets dans Wireshark :

Maintenant, pendant que nous envoyons des paquets UDP du système A au système B et inversement, nous pouvons démarrer Wireshark dans le système A ou le système B. Ici, nous avons le fichier de capture, faisons une analyse et confirmons si cette communication serveur et client utilise le protocole UDP.

Notez que nous n'analyserons que la première communication :

Le système A a envoyé :

"Bonjour, je viens de LinuxHint [Système A 192.168.1.6]"

À:

Système B [192.168.1.102].

Nous utiliserons un filtre "udp.port == 9999" pour obtenir uniquement les paquets associés dans Wireshark. Reportez-vous à la capture d'écran ci-dessous pour l'analyse de la capture Wireshark :

Pour savoir comment utiliser Wireshark, reportez-vous au lien ci-dessous

https://linuxhint.com/wireshark_basics_how_to_use/

Autre commande pour envoyer des paquets UDP :

Il existe une autre méthode pour envoyer des paquets UDP

Exécutez le serveur sur le système B :

$ nc -u -l 8000

Exécutez la commande ci-dessous sur le système A :

$ echo -n "bonjour" >/dev/udp/192.168.1.102/8000
192.168.1.102 : IP du système B
8000 : Le port du serveur
Message envoyé : « bonjour »

Mais nous ne pouvons envoyer qu'une seule fois « bonjour ». Si nous tuons le serveur et le réexécutons, cela fonctionne.

Conclusion:

De l'exercice ci-dessus, nous avons appris le mécanisme pour envoyer des messages en utilisant le protocole UDP. Et la meilleure méthode est d'utiliser NC commande sous Linux.

Les références:

Pour comprendre TCP : https://linuxhint.com/tcp_packet_capture_analysis/
Pour comprendre UDP : https://linuxhint.com/udp_wireshark_analysis/

Meilleures distributions Linux pour les jeux en 2021
Le système d'exploitation Linux a parcouru un long chemin depuis son apparence originale, simple et basée sur le serveur. Ce système d'exploitation s'...
Comment capturer et diffuser votre session de jeu sur Linux
Dans le passé, jouer à des jeux n'était considéré qu'un passe-temps, mais avec le temps, l'industrie du jeu a connu une croissance énorme en termes de...
Meilleurs jeux à jouer avec le suivi des mains
Oculus Quest a récemment introduit l'idée géniale du suivi manuel sans contrôleurs. Avec un nombre toujours croissant de jeux et d'activités qui exécu...