nc – Unix, Linux Command (Français)


nc- arbitrary TCP and UDP connections and listens

SYNOPSIS

nc
.Bk -words]]
.Ek

DESCRIPTION

Thenc(or netcat)utility is used for just about anything under the sun involving TCPor UDP.It can open TCP connections, send UDP packets, listen on arbitraryTCP and UDP ports, do port scanning, and deal with both IPv4 andIPv6.,Unliketelnet(1), ncscripts bien, et sépare les messages d’erreur sur l’erreur standard au lieu de les envoyer à la sortie standard, astelnet (1) fait avec certains.

Les utilisations courantes incluent:

  • proxies TCP simples
  • clients et serveurs HTTP basés sur un script shell
  • Test de démon réseau
  • A SOCKS ou http ProxyCommand forssh(1)
  • et beaucoup, beaucoup plus

Les options sont les suivantes:

balise Description
-4 forcesnc pour utiliser les adresses IPv4 uniquement.,
-6 Forcesncto l’utilisation des adresses IPv6 uniquement.
-D Activer le débogage sur le socket.
-d N’essayez pas de lire depuis l’entrée standard.
-h Imprime outnchelp.
-i interval
Spécifie un intervalle de temps entre les lignes de texte envoyés et reçus.Provoque également un délai entre les connexions à plusieurs ports.
-k Forcesncto rester à l’écoute pour une autre connexion après sa connexion actuelle est terminée.,C’est une erreur d’utiliser cette option sans l’option-l.
-L utilisé pour spécifier que NC doit écouter une connexion entrante plutôt que d’initier une connexion à une host.It est une erreur d’utiliser cette option en conjonction avec les options-p ,-s ou-Z.De plus, tous les délais spécifiés avec l’option-w sont ignorés.
-n ne faites aucune recherche DNS ou de service sur les adresses,noms d’hôtes ou ports spécifiés.,
– P source_port
spécifie la source que portnc doit utiliser, sous réserve de restrictions de privilèges et availability.It est une erreur d’utiliser cette option en conjonction avec l’option-l.
-r spécifie que les ports source et / ou de destination doivent être choisis au hasard au lieu de séquentiellement dans une plage ou dans l’ordre dans lequel le système les attribue.
-s Active L’option de signature TCP MD5 RFC 2385.,
-s source_ip_address
Spécifie l’adresse IP de l’interface qui est utilisée pour envoyer les paquets.C’est une erreur d’utiliser cette option en conjonction avec l’option-l.
-T ToS
spécifie le type de Service IP (ToS) pour la connexion.Les valeurs valides sont les jetons « lowdelay », »throughput », »reliability »ou une valeur hexadécimale de 8 bits précédée de « 0x ».
-t Causesncto envoyer RFC 854 ne pas et ne sera pas les réponses à RFC 854 faire et sera demandes.,Cela permet d’utiliserencto script telnet sessions.
-U Spécifie l’utilisation des Sockets de Domaine Unix.
-u Utiliser UDP au lieu de l’option par défaut de TCP.
-v Havencgive plus détaillé de sortie.
-w délai
Si une connexion et stdin sont inactifs depuis plus de timeoutseconds, la connexion est fermé doucement.L’indicateur-w n’a aucun effet sur l’option-l, c’est-à-dire que NCW écoutera pour toujours une connexion, avec ou sans l’indicateur-W.La valeur par défaut est pas de délai d’attente.,
-X proxy_version
Demandes thatncshould utiliser le protocole spécifié lorsque l’on parle au serveur proxy.Les protocoles pris en charge sont »4″(SOCKS v. 4), »5″(SOCKS v. 5)et »connect »(proxy HTTPS).Si le protocole N’est pas spécifié, SOCKS version 5 est utilisé.
-x proxy_address
demande que NC doit se connecter au nom d’hôte en utilisant un proxy à proxy_addressand port.Si portis n’est pas spécifié, le port bien connu pour le protocole proxy est utilisé (1080 pour SOCKS, 3128 pour HTTPS).,
-z spécifie que NC doit simplement rechercher des démons d’écoute, sans envoyer de données à them.It est une erreur d’utiliser cette option en conjonction avec l’option-l.

hostnamecan être une adresse IP numérique ou un nom d’hôte symbolique(sauf si l’option-n est donnée).En général, un nom d’hôte doit être spécifié,sauf si l’option-l est donnée(dans ce cas, l’hôte local est utilisé).

le port peut être un seul entier ou une plage.Les plages sont sous la forme nn-mm.,En général, un port de destination doit être spécifié, sauf si l’option-U est donnée (auquel cas un socket doit être spécifié).

modèle CLIENT/serveur

il est assez simple de construire un modèle client / serveur très basique en utilisant NC.Sur une console, startnclisting sur un port spécifique pour une connexion.Par exemple:

$ nc-l 1234

ncis écoute maintenant sur le port 1234 pour une connexion.Sur une deuxième console(ou une deuxième machine),connectez-vous à la machine et au port écouté:

$ nc 127.0.0.1 1234

Il devrait maintenant y avoir une connexion entre les ports.,Tout ce qui est tapé sur la deuxième console sera concaténé à la première,et vice-versa.Une fois la connexion configurée,ncdne se soucie pas vraiment du côté utilisé en tant que serveur et du côté utilisé en tant que client.La connexion peut être interrompue à l’aide d’un EOF(‘^d’).

transfert de données

L’exemple de la section précédente peut être développé pour construire un modèle de transfert de données abasic.Toute entrée d’informations à une extrémité de la connexion sera sortie à l’autre extrémité, et l’entrée et la sortie peuvent être facilement capturées afin d’émuler le transfert de fichiers.,

commencez par utilisernc pour écouter sur un port spécifique, avec la sortie capturée dans un fichier:

$ nc-l 1234 > nom de fichier.out

En utilisant une deuxième machine, connectez – vous à listeningncprocess, en lui fournissant le fichier à transférer:

$ nc host.example.com 1234 < filename.in

Une fois le fichier transféré, la connexion se ferme automatiquement.

parler aux serveurs

il est parfois utile de parler aux serveurs »à la main »plutôt que via une interface utilisateur.,Cela peut aider au dépannage, lorsqu’il peut être nécessaire de vérifier quelles données un serveur envoie en réponse aux commandes émises par le client.Par exemple, pour récupérer la page d’accueil d’un site web:

$ echo -n "GET / HTTP/1.0\r\n\r\n" | nc host.example.com 80

Notez que cette affiche également les en-têtes envoyés par le serveur web.Ils peuvent être filtrés,à l’aide d’un outil tel que assed(1), si nécessaire.

des exemples plus compliqués peuvent être créés lorsque l’utilisateur connaît le format des requêtes requises par le serveur.,Comme autre exemple, un e-mail peut être soumis à un serveur SMTP en utilisant:

analyse de PORT

il peut être utile de savoir quels ports sont ouverts et les services en cours d’exécution sur une machine cible.L’indicateur-z peut être utilisé pour signaler les ports ouverts, plutôt que d’initier une connexion.Par exemple:

la plage de ports a été spécifiée pour limiter la recherche aux ports 20 à 30.

alternativement, il peut être utile de savoir quel logiciel de serveur est en cours d’exécution, et quelles versions.Ces informations sont souvent contenues dans les bannières de voeux.,Pour les récupérer, il est nécessaire d’établir d’abord une connexion,puis de rompre la connexion lorsque la bannière a été récupérée.Cela peut être accompli en spécifiant un petit délai d’attente avec l’indicateur-w, ou peut-être en émettant une commande « QUIT »au serveur:

exemples

ouvrir une connexion TCP au port 42 de host.example.com, en utilisant le port 31337 comme port source, avec un délai d’attente de 5 secondes:

$ nc-p 31337-w 5 host.example.com 42

ouvrez une connexion UDP au port 53 de host.example.com:

$ nc-u host.example.com 53

ouvrez une connexion TCP au port 42 de l’hôte.exemple.,com utilisant 10.1.2.3 comme theIP pour l’extrémité locale de la connexion:

$ nc-s 10.1.2.3 host.example.com 42

créer et écouter sur un Socket de domaine Unix:

$ nc-lU/var/tmp/dsocket

Se connecter au port 42 de host.example.com via un proxy HTTP à 10.2.3.4, port 8080.Cet exemple pourrait également être utilisé parssh(1); voir le ProxyCommanddirective inssh_config (5) pour plus d’informations.

$ nc-x10.2.3. 4: 8080-Xconnect host.example.com 42

voir aussi

ssh (1)

auteurs

implémentation originale par *Hobbit* <[email protected]>.,
réécrit avec le support IPv6 par
.Un Eric Jackson Aq [email protected] .

mises en garde

les analyses de port UDP réussiront toujours(c’est-à-dire signaleront le port comme ouvert),rendant la combinaison d’indicateurs-uz relativement inutile.

Annonces

Author: admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *