telnet 99.99.99.99 33491
Trying 99.99.99.99...
Connected to 99.99.99.99..
Escape character is '^]'
^]
telnet> close
Connection closed.
ご覧のとおり、上記のtelnetコマンドは、ポート33491が開いていることを示しています。
同じIPとポートで-PN
を指定してNMAPを実行すると、閉じていると表示されます。
root@Ubuntu:~# nmap -PN 99.99.99.99 -p33491
Starting Nmap 5.00 ( http://nmap.org ) at 2011-10-18 18:18 EDT
Interesting ports on xxx.com (99.99.99.99):
PORT STATE SERVICE
33491/tcp filtered unknown
Nmap done: 1 IP address (1 Host up) scanned in 2.07 seconds
上記の例では、telnetはポートが開いていることを示していますが、NMAPはポートを「フィルタリングされた」または閉じていることを示しています。
NMAPにリモートホスト(pingを無効にする)の開いているポートを表示させるにはどうすればよいですか?
フィルタリング
パケットフィルタリングによりプローブがポートに到達できないため、Nmapはポートが開いているかどうかを判断できません。フィルタリングは、専用のファイアウォールデバイス、ルータールール、またはホストベースのファイアウォールソフトウェアから行うことができます。これらのポートは、提供する情報が非常に少ないため、攻撃者を苛立たせます。タイプ3コード13(宛先に到達できない:通信は管理上禁止されています)などのICMPエラーメッセージで応答する場合がありますが、応答せずにプローブを単にドロップするフィルターの方がはるかに一般的です。これにより、フィルタリングではなくネットワークの輻輳が原因でプローブがドロップされた場合に備えて、Nmapが数回再試行されます。これにより、スキャンが大幅に遅くなります。
NmapにTCP接続...を試すように依頼できます。
nmap -PN -sT -p 33491 example.com
ポートがフィルタリングされたことに応答するNmapは、ポートが閉じていることを意味しませんnot。これは、NMapがその決定を行うことができないことを意味します-それは開いているか閉じている可能性があります。
マニュアルによる 第15章
フィルタ済みとは、ファイアウォール、フィルタ、またはその他のネットワーク障害物がポートをブロックしているため、Nmapがポートが開いているか閉じているかを判断できないことを意味します。