“nc -l xxxx”가 포트를 열지 않는 이유는 무엇입니까?


15

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 버전의 nc 와 함께 합니다.

누군가 왜 이런 차이가 있는지 말해 줄 수 있다면 좋겠습니다. 이전 버전을 사용하고 있습니까? ( -h리포트 v1.10-38)


5
Netcat (nc)에는 다양한 버전이 있습니다. -lp구문은 호빗의 원래 버전에서, 나는 생각합니다. BSD에서 파생 된 버전은 -pwith 사용을 금지합니다 -l. 많은 사람들이 지원하지 않습니다 -e. 항상 설치 매뉴얼 페이지 또는 -h옵션 출력을 확인하십시오 .
bonsaiviking

1
이전 버전을 실행 중인지 여부에 대한 질문을 충족시키기 위해 예라고 대답합니다. 1.89-3 재고는 여기
tao

1
고마워 Linux nc (호빗 / 데비안 버전)와 OS X nc (BSD 버전)의 불일치에 대해 설명합니다.
Grezzo

당신은 아마 설치 한 netcat-traditional대신 netcat또는netcat-openbsd
SeMeKh

데비안 8.6에서 새로 설치하려면 -p가 포트에 필요하며 기본적으로 netcat-traditional이 설치되어 있음을 확인할 수 있습니다 (
pt에
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.