Почему «nc -l xxxx» не открывает порт?


14

Я пытаюсь заставить netcat прослушивать порт 4444, но, похоже, он не работает. Я проверяю, открыт ли порт с помощью nmap, но он его не обнаруживает, и я не могу понять, почему. Я пробовал разные порты без радости.

Вот копия моего терминала, чтобы вы могли видеть, что я делаю и что я пробовал:

#iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


# nmap localhost -p 4444

Starting Nmap 5.61TEST4 ( http://nmap.org ) at 2012-07-31 16:37 BST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00019s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT     STATE  SERVICE
4444/tcp closed krb524

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds


# nc -l 4444 &
[1] 1951


# nmap  localhost -p 1-65535

Starting Nmap 5.61TEST4 ( http://nmap.org ) at 2012-07-31 16:42 BST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 65532 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
7337/tcp  open  unknown
33507/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 1.37 seconds


# ps -e | grep nc
   12 ?        00:00:00 sync_supers
 1156 tty1     00:00:00 ck-launch-sessi
 1232 tty1     00:00:00 dbus-launch
 1274 ?        00:00:00 klauncher
 1951 pts/2    00:00:00 nc

Ответы:


18

Я запустил режим многословия -vи получил ответ:

4444: inverse host lookup failed: Unknown server error : Connection timed out`
listening on [any] 41579 ...`

поэтому я попытался указать порт с -pтаким, nc -lvp 4444и это работает:

listening on [any] 4444 ...

Очевидно , что нужно использовать -pс -lэтой версией нк.

Я был бы рад, если бы кто-нибудь мог сказать, почему есть такая разница. Я использую старую версию? ( -hотчеты v1.10-38)


5
Существует множество разных версий Netcat (nc). -lpСинтаксис от оригинальной версии хоббита, я верю. Версии, полученные из BSD, запрещают использование -pс -l. Многие не поддерживают -e. Всегда проверяйте справочную страницу вашей установки или -hопцию вывода.
Бонсайвинг

1
Просто чтобы удовлетворить ваш вопрос о том, работает ли у вас старая версия, я бы сказал, да. 1.89-3 сток здесь.
Тао

1
Спасибо ребята. Это объясняет несоответствие между моим Linux nc (версия hobbit / debian) и моим OS X nc (версия BSD).
Grezzo

Вы, вероятно, установили netcat-traditionalвместо netcatилиnetcat-openbsd
SeMeKh

В Debian 8.6 для порта требуется новая установка -p, и я могу подтвердить, что netcat-
George
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.