「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 ...

明らかに、このバージョンのncで使用-pする必要があります-l

なぜこの違いがあるのか​​を誰かが教えてくれたら、私はそれが大好きです。古いバージョンを実行していますか?(-hレポートv1.10-38


5
Netcat(nc)には多くの異なるバージョンがあります。-lp構文はホビットのオリジナルバージョンからある、私は信じています。BSDから派生したバージョンでは、-pwith の使用が禁止されています-l。多くはサポートしていません-e。インストールのマニュアルページまたは-hオプションの出力を常に確認してください。
盆栽バイキング

1
古いバージョンを実行しているかどうかについての質問を満たすために、「はい」と言います。1.89-3在庫あり。
タオ

1
みんなありがとう。これは、Linux nc(hobbit / debianバージョン)とOS X nc(BSDバージョン)の矛盾を説明しています。
グレッツォ

おそらく、インストールされているnetcat-traditional代わりのnetcatnetcat-openbsd
SeMeKh

Debian 8.6では、ポートに-pが必要です。また、netcat-traditionalがデフォルトでインストールされていることを確認できます(aptによって検証済み)
ジョージヴァシリウ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.