web-dev-qa-db-fra.com

Quelles sont les différences entre ncat, nc et netcat?

Je ne sais pas quand utiliser nc, netcat ou ncat. Si l'un est la version obsolète d'un autre? Si l'un n'est disponible que sur une seule distribution? Si c'est la même commande mais avec des noms différents?

En fait, je suis un peu confus. Ma question vient de vouloir faire un test de vitesse réseau entre deux serveurs CentOS 7. Je suis tombé sur plusieurs exemples utilisant nc et dd mais pas beaucoup utilisant netcat ou ncat.

Quelqu'un pourrait-il clarifier cela pour moi

21
Pozinux

nc et netcat sont deux noms pour le même programme (généralement, l'un sera un lien symbolique vers l'autre). Cependant - pour beaucoup de confusion - il existe deux implémentations différentes de Netcat ("traditionnel" et "OpenBSD"), et elles prennent différentes options et ont des fonctionnalités différentes.

Ncat est la même idée, mais du projet Nmap. Il y a aussi socat, qui est une idée similaire. Il y a aussi /dev/tcp, une fonction Bash (facultative).

Cependant, si vous cherchez à faire des tests de vitesse de réseau, alors toutes les réponses ci-dessus sont la mauvaise réponse. Vous recherchez iperf3 ( site 1 ou site 2 ou code ).

24
derobert

En regardant les paquets dans Debian, il y a deux implémentations différentes de netcat (nc), je pense les deux installent avec netcat ainsi que nc ont un lien symbolique vers le même binaire (bien qu'ils utilisent le système "alternatif" de Debian pour contrôler laquelle des implémentations apparaît avec le nom principal.) Ces deux sont netcat-traditional ("le" classique "netcat, écrit par Hobbit . Il manque de nombreuses fonctionnalités trouvées dans netcat-openbsd.") et - netcat-openbsd ("la réécriture OpenBSD de netcat, y compris la prise en charge d'IPv6, des proxys et des sockets Unix.").

ncat est la version de netcat du Nmap Project prétend être "une réimplémentation très améliorée du vénérable Netcat").

Les trois semblent avoir les mêmes fonctionnalités de base, comme pour pouvoir ouvrir un socket et se connecter ou écouter, mais pour tout ce qui est au-dessus, vous voudrez peut-être consulter le manuel de votre version. (Celui d'OpenBSD ne prend pas en charge -e pour exécuter une commande après la connexion, par exemple.)

7
ilkkachu