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 <( ̄▽ ̄)>, 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 < somepage.html; done
Exemple 6 :
Simulation des en-têtes HTTP
[root @hatest1 ~]# nc www .huanxiangwu.com 80
GET/HTTP/1.1
Hôte : ispconfig.org
Référent : mypage.com
User-Agent : mon-navigateur
Après Exécutez la commande nc, entrez le contenu de la partie rouge, puis appuyez deux fois sur Entrée pour obtenir le contenu des en-têtes HTTP de l'autre partie.
Exemple 7 :
Chat
Écouter sur le port 1234 du serveur1 [root@hatest2 tmp]# nc -lp 1234
Envoyer un message sur le port 1234 du serveur2 au serveur1 [root@hatest1 ~] #nc server1 1234
De cette façon, les deux parties peuvent communiquer entre elles. Utilisez Ctrl+D pour quitter normalement.
Pour plus d'utilisation, consultez la page de manuel
nc example.host port Ouvre une connexion TCP au port de l'hôte example.host Si la connexion échoue, aucun message d'erreur ne s'affiche et se ferme simplement <. 🎜> nc -p 31337 -w 5 example.host 42 s'ouvre avec un exemple. Un lien TCP sur le port 42 de l'hôte hôte. Utilisez 31337 comme port source, le délai d'expiration de la liaison est de 5 secondes
nc -u example.host 53 Spécifiez le protocole comme protocole udp
Syntaxe : nc [-hlnruz][-g
Paramètres :
-g
-G
-h Aide en ligne.
-i
-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.
-o
-p
-r Des nombres aléatoires spécifient les ports de communication des hôtes locaux et distants.
-s
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
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!