Netcat в Mac OS X

31

Кто-нибудь еще не может начать nc -lp 8888работать с Mac OS X? Есть ли другой способ заставить это работать?

КЖ
источник
Как это не работает? Это возвращает ошибку?
тяжело
Я не рядом с Mac прямо сейчас, но он возвращает использование. nc -lp 8888работает на моей коробке Ubuntu.
кж
Никогда не слышал об этом, пока не прочитал книгу о Докере. Они также упоминают нечто, называемое socat, которое якобы является этой командой на стероидах. Больше информации здесь: stackoverflow.com/questions/16808543/install-socat-on-mac и здесь linux.die.net/man/1/socat и здесь youtube.com/watch?v=ZnwZA1GRqkw
JGFMK

Ответы:

35

Мне кажется, что эта -pопция ничего не делает в OS X версии netcat. Чтобы заставить его работать, я должен сделать nc -l localhost 8888.

КЖ
источник
7
Если не установлено из доморощенного, то nc -l -p 8888работает.
user1338062
2
От man nc: -l ... It is an error to use this option in conjunction with the -p, -s, or -z options. ... Вы, вероятно, хотите просто придерживаться команды @ kzh там
fatuhoku
@fatuhoku Я только что проверил мое руководство, и Yest он действительно говорит , что там, но странно то, что , если я nc -lp 8888или nc -l -p 8888он будет принимать -pв среднем порт прослушивания. Так что моя распределенная копия не слушает собственное руководство!
кж
Согласовано! Флаги слишком выразительны ... надо было просто отказаться от какой-либо полезной работы, вывести сообщение и выйти!
фатухоку
Работает также с nc -l 8888
Polym
13

Вот как это работает для меня на OS X 10.10, с установленной версией BSD или с Homebrew:

Версия BSD

При использовании версии BSD, которая поставляется с OS X, сервер может быть запущен следующим образом

/usr/bin/nc -l 9999

Homebrew

  • Установить с помощью Homebrew: brew install netcat
  • Это установит v0.7.1 http://netcat.sourceforge.net/
  • Можно использовать либо команду, ncлибо netcat. ncэто псевдоним для netcat.

Чтобы запустить сервер:

nc -l -p 9999

Чтобы запустить клиента:

nc targethost 9999

Чтобы получить справочную страницу этой версии, нужно использовать man netcat, так как man ncоткроет справочную страницу версии BSD.

nwinkler
источник
3

В nc на MacOS слишком много ошибок, и Apple годами не исправляла. netcat от homebrew - очень низкая версия. используйте вместо этого ncat из nmap

JZ
источник
2

Мне нужно было протестировать веб-сервис по SSL, который поддерживает ncat (созданный командой nmap).

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

https://nmap.org/ncat/

Colin
источник