Maison >Opération et maintenance >exploitation et maintenance Linux >Quelle est la commande nc dans le système Linux ? Explication détaillée de l'utilisation de la commande nc

Quelle est la commande nc dans le système Linux ? Explication détaillée de l'utilisation de la commande nc

伊谢尔伦
伊谢尔伦original
2017-05-30 15:01:2010270parcourir

Cet article présente principalement l'utilisation de base de la commande nc dans le système Linux. La commande nc est très puissante. Voici une brève introduction à son utilisation de base pour l'analyse des ports et le transfert de fichiers.

Description de la fonction : Un outil réseau puissant 0a0ab0495c3035f36a29016608ecf616, connu sous le nom de « couteau suisse » parmi les outils réseau, et dispose de versions Windows et Linux. Parce qu'il est court, concis et pratique, il est conçu comme un outil réseau simple et fiable capable de transmettre des données en lecture et en écriture via les protocoles TCP ou UDP. En même temps, il s'agit également d'un analyseur de débogage d'applications réseau car il peut créer différents types de connexions réseau selon les besoins.
nc peut fournir les fonctions réseau suivantes :
1) Écoutez un port spécifique, puis nc peut être utilisé comme serveur, mais j'ai trouvé que le serveur généré en utilisant nc de cette manière n'est qu'un serveur d'écho, et il n'y en a pas d'autre plus puissant.
2) Connectez-vous à un port spécifique, puis nc devient client De même, c'est aussi un simple client, qui ne peut jouer que le rôle d'écho
3. ) Scannez le port, qui peut être utilisé comme requête pour savoir si un certain port est ouvert sur une certaine machine
Quelques exemples d'utilisation spécifiques


Exemple 1 :
Utilisez nc pour ouvrir. un port spécifique sous linux
nc -lp 23 & (c'est-à-dire telnet)
netstat -an|grep 23 (vérifiez si le port est ouvert normalement)

Exemple 2 :
Utilisez nc pour transfert de fichiers, commande
ssh root@www.freetstar. com "( nc -l 10003 > destination 2>/dev/null & )" && cat source | vers l'hôte distant www.freetstar.com via ssh et utilisez la commande nc Ouvrez le port local 10003 et devenez un processus en arrière-plan Après
&&, ouvrez le fichier source sur la machine locale et redirigez-le vers le port 10003 de www. freetstar.com, c'est-à-dire laisser le site distant www.freetstar.com héberger 10003 Numéro de port Recevoir le fichier source

Exemple 3 :
Utilisez nc pour analyser un port spécifique sous Linux
nc -v -z host.example.com 70-80
Port de numérisation (70 à 80 ), la plage peut être spécifiée. -v affiche des informations détaillées.

Exemple 4 :
Cloner le disque dur ou la partition
Semblable à l'exemple 2, il vous suffit d'obtenir les données du disque dur ou de la partition à partir de dd, puis de les transférer.
L'opération de clonage d'un disque dur ou d'une partition ne doit pas être effectuée sur un système qui a été monté. Par conséquent, vous devez utiliser le CD d'installation pour démarrer, passer en mode de secours (ou utiliser le CD de l'outil Knoppix) pour démarrer le système, puis exécuter sur
server1 : # nc -l -p 1234 | /sda
exécuter sur le serveur1 Écoutez sur le port 1234 et enregistrez le fichier obtenu dans /dev/sda
Exécuter sur le serveur2 : # dd if=/dev/sda | nc server1 1234

Exemple 5 :
Enregistrez la page Web
while true; do nc -l -p 80 -q 1 affbea791c108ea808135400e6640878 ][-G0e231f08f476d45fb13abbcea8fb1e6c][-i62edd6ac127c6c74d51bd2b5ef562e57][-o952137900e23f3719c2025ebdb8d2212][-pb929ce8a8b840ff72aa44dea8f2e98f6][-secbbba31c5bb2b3a2c33b645ceddcd9e][ -v.. .][-w8c2fb036788d596a605bd17c92dd7f47][Nom d'hôte][Port de communication...]

Paramètres :
-g73f07b02b8e329271b84a1cdf7f36a79 Définissez la passerelle de communication de saut de routeur, jusqu'à 8 peuvent être définis.
-G0e231f08f476d45fb13abbcea8fb1e6c Définit le pointeur de routage source, sa valeur est un multiple de 4.
-h Aide en ligne.
-i62edd6ac127c6c74d51bd2b5ef562e57 Définissez l'intervalle de temps pour la transmission des informations et l'analyse des ports de communication.
-l Utiliser le mode d'écoute pour contrôler les données entrantes.
-n Utilisez l'adresse IP directement au lieu de passer par le serveur de noms de domaine.
-o952137900e23f3719c2025ebdb8d2212 Spécifiez le nom du fichier, videz les données transmises en caractères hexadécimaux dans ce fichier et enregistrez-le.
-pb929ce8a8b840ff72aa44dea8f2e98f6 Définissez le port de communication utilisé par l'hôte local.
-r Des nombres aléatoires spécifient les ports de communication des hôtes locaux et distants.
-sebe9dff2ea243408392d26c2a6895070 Définissez l'adresse IP de l'hôte local pour envoyer les paquets de données.
-u Utiliser le protocole de transport UDP.
-v Affiche le processus d'exécution de l'instruction.
-w8c2fb036788d596a605bd17c92dd7f47 Définissez le temps d'attente pour la connexion.
-z Utilise le mode d'entrée/sortie 0, utilisé uniquement lors de l'analyse des ports de communication.

Jetons un coup d'œil à son utilisation de base :

1. Écoutez le port local

root@10.1.1.43:~# nc -l -p 1234 
root@10.1.1.43:~# netstat -tunlp | grep 1234

tcp 0 0 0.0.0.0:1234 0.0. 0.0 :* ÉCOUTER 15543/nc

2. Analyse des ports

root@10.1.1.43:~# nc -v -w 10 10.1.1.180 80

(INCONNU) [10.1.1.180] 80 (www) ouvert

root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000

(INCONNU) [10.1.1.180] 22000 (?) ouvert
(INCONNU) [10.1.1.180] 80 (www) ouvert

3. Fichier sortant

Source 10.1.1.43 text.txt

Destination 10.1.1.180

root@10:~# nc -l -p 1234 > test.txt #开10.1.1.180:1234端口监听,并将socket传输过来的数据重定向到test.txt文件 test 43 nc
root@10.1.1.43:~#cat test.txt    
root@10.1.1.43:~# nc  10.1.1.180 1234 < test.txt  #连接远程的10.1.1.180,从test.txt的路径从定向到socket,从而将文件传输到远方。
root@10:~# cat test.txt
test 43 nc


4. Transfert de répertoire

Source 10.1.1.43 python_program

Objectif 10.1.1.180

root@10:~# nc -l -p 1234 | tar xzvf -
root@10.1.1.43:~# tar czvf -  python_program | nc 10.1.1.180 1234

python_program/
python_program/1.py
python_program/4.py
python_program/3.py

5. Testez le port UDP

root@172.16.211.34:web# netstat -tunlp

Connexions Internet actives (serveurs uniquement)
Proto Recv-Q Send-Q Adresse locale Adresse étrangère État PID/Nom du programme
tcp 0 0 0.0 .0.0 ; 0.0.0.0 :* 887/dhclient


root@172.16.211.35:~# nc -vuz  172.16.211.34 68
Connexion au port 172.16.211.34 68 [udp/bootpc] réussie !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn