web-dev-qa-db-ja.com

pingは成功するがnmapは失敗するのはなぜですか?

Nmapは、単純なpingが成功したときに「ホストがダウンしているようです」と報告するのはなぜですか?

me@computer:~$ ping 123.45.67.89
PING 123.45.67.89 (123.45.67.89) 56(84) bytes of data.
64 bytes from 123.45.67.89: icmp_req=1 ttl=45 time=91.1 ms
64 bytes from 123.45.67.89: icmp_req=2 ttl=45 time=102 ms
64 bytes from 123.45.67.89: icmp_req=3 ttl=45 time=100 ms
^C
--- 123.45.67.894 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 91.136/98.182/102.417/5.022 ms

me@computer:~$ nmap 123.45.67.89

Starting Nmap 5.21 ( http://nmap.org ) at 2014-04-02 14:23 EDT
Note: Host seems down. If it is really up, but blocking our ping probes, try -PN
Nmap done: 1 IP address (0 hosts up) scanned in 3.04 seconds

Nmapの「pingプローブ」はコマンドラインのpingとは異なりますか?

22
AShelly

Nmapは 多くの異なるプローブ を送信して、ホストが起動しているかどうかを判断します。特定のケースでは、ルート権限なしでNmapを実行しているため、pingユーティリティが使用するICMPエコー要求を送信できません。この場合、ポート80とポート443に接続し、接続が開かれたか拒否された場合にホストをアップとして報告します。ターゲットには、これらのポートへのすべてのトラフィックをドロップするファイアウォールが必要です。

Nmapでシステムを検索できるようにするには、root権限で実行してみてください。 Sudo コマンドは、この目的で頻繁に使用されます。例:Sudo nmap 123.45.67.89

pingはインストールされているため、ICMPパケットを送信できます setuid はrootになり、すべてのユーザーが実行できますが、実行するとrootユーザーとして実行されます。 Setuidプログラムは、通常のユーザーがこの追加のアクセス許可を介してシェルを取得できないように、特別に注意する必要があります。 Nmap特にこの特権の昇格を防ぐことはできないため、決してsetuidにしないでください。

30
bonsaiviking

はい、デフォルトでは異なります。pingはICMPです。nmappingは、synパッケージをポート80に送信します。覚えている場合は、-PE、-PM、-PPフラグを使用してICMP pingを実行してみてください。

2
Kotzu

特権がなければ、netcatでポートをスキャンできます:

nc -z -w5 hostname 22; echo $?

失敗した場合は1と答え、それ以外の場合は:

ホスト名22のポート[tcp/ssh]への接続に成功しました!

0
douardo

私のための簡単な修正(Windows 10)。プライマリLANアダプターを使用して以来使用されていなかったワイヤレスアダプターを無効にしました。プライマリアダプタ以外はすべて無効にすることをお勧めします。

0
NoSpamMan