Netcat sur Mac OS X

31

Est-ce que quelqu'un d'autre ne peut pas nc -lp 8888travailler sur Mac OS X? Y a-t-il une autre façon de faire fonctionner cela?

kzh
la source
Comment ça ne marche pas? Retourne-t-il une erreur?
2010
Je ne suis pas près d'un mac en ce moment, mais il renvoie l'utilisation. nc -lp 8888fonctionne sur ma boîte Ubuntu.
kzh
Je n'en avais jamais entendu parler avant d'avoir lu un livre sur Docker. Ils mentionnent également quelque chose appelé socat, qui est censé être cette commande sur les stériodes. Plus d'informations ici stackoverflow.com/questions/16808543/install-socat-on-mac et ici linux.die.net/man/1/socat et ici youtube.com/watch?v=ZnwZA1GRqkw
JGFMK

Réponses:

35

Il me semble que l' -poption ne fait rien sur la version OS X de netcat. Pour le faire fonctionner, je dois le faire nc -l localhost 8888.

kzh
la source
7
Sauf installé à partir de homebrew, nc -l -p 8888fonctionne alors .
user1338062
2
De man nc: -l ... It is an error to use this option in conjunction with the -p, -s, or -z options. ... Vous voulez probablement vous en tenir à la commande de @ kzh
fatuhoku
@fatuhoku Je viens de vérifier mon manuel, et oui ça dit ça là-dedans, mais le plus bizarre c'est que si je le fais nc -lp 8888ou nc -l -p 8888alors cela prendra -ppour signifier le port d'écoute. Donc ma copie distribuée n'écoute pas son propre manuel!
kzh
D'accord! Les drapeaux sont un peu trop expressifs ... il aurait juste dû refuser de faire un travail utile, de sortir un message et de quitter!
fatuhoku
Fonctionne également avec nc -l 8888
polym
13

Voici comment cela fonctionne pour moi sur OS X 10.10, avec la version BSD installée ou celle de Homebrew:

Version BSD

Lorsque vous utilisez la version BSD livrée avec OS X, un serveur peut être démarré comme ceci

/usr/bin/nc -l 9999

Homebrew

  • Installez en utilisant Homebrew: brew install netcat
  • Cela installera la version 0.7.1 de http://netcat.sourceforge.net/
  • On peut utiliser la commande ncou netcat. ncest un alias pour netcat.

Pour démarrer un serveur:

nc -l -p 9999

Pour démarrer un client:

nc targethost 9999

Pour obtenir la page de manuel de cette version, il faut utiliser man netcat, comme man ncouvrira la page de manuel de la version BSD.

nwinkler
la source
3

nc sur MacOS a trop de bugs, et Apple n'a pas corrigé pendant des années. le netcat de homebrew est une version très basse. utilisez plutôt ncat de nmap

JZ
la source
2

J'avais besoin de tester un service Web sur SSL, pris en charge par ncat (réalisé par l'équipe nmap).

brew install nmap
ncat -C --ssl api.somecompany.com 443

https://nmap.org/ncat/

Colin
la source