pingスイープ
pingスイープ (Ping Sweep) とは、IPアドレスをインクリメントしながら動作するpingを実行し、ネットワークで稼働しているシステムを発見する偵察行為です。nmap などのコマンドで簡単に行えます。
読み方
- pingスイープ
- ぴん すいーぷ
- ping sweep
- ぴん すいーぷ
目次
概要
pingを指定した範囲の IPアドレスに対して行う偵察スキャンの一種です。ネットワークで稼働しているホストを見つけることができます。
DNS の情報からサーバーの情報を得られるかもしれませんが、ネットワークの到達性は、わかりません。ping を実行することで、到達性が確認できます。
ping は、ICMP ECHO (タイプ 8) のパケットを対象に送信し、もし対象が稼働しているならば、ICMP ECHO REPLY (タイプ 0) のパケットを受け取ります。 小規模・中規模程度のネットワークであれば、稼働しているシステムを洗い出すことは、比較的容易かもしれませんが、大規模ネットワークの場合は、スキャン対象が多くなるため、ネットワークの大きさに応じて、処理時間が増えます。
使い方
nmapでのpingスイープ
nmap での pingスイープ は、 -sn オプションを使用します。 以前のバージョンでは、 -sn は、 -sP です。
nmap は、root ユーザと一般ユーザで、挙動が異なるため、環境によっては、見つけられるホストの数が異なります。
% nmap -sn 192.168.0.1-254
nmap の -sn オプションは、 No port scan です。
-sn オプションは、ホストを発見したあとに、ポートスキャンを実行しません。 存在するホストだけを表示します。これは、pingスキャン(ping scan)です。
root ユーザ以外は、 connect() システムコールが利用されます。
ping ブロードキャストアドレスよりも信頼できます。 なぜならブロードキャストクエリに多くのホストが返答しないからです。
デフォルトのホストディスカバリーは、 TCP SYN の 443、TCP ACK の 80と ICMP timestamp request に対する ICMP echo リクエストが使用されます。 非特権ユーザは、SYN パケットがターゲットホストの80と443ポートに connect() システムコールを利用して送信されます。 特権ユーザがローカルイーサーネットネットワークのターゲットをスキャンするとき、--send-ip が指定されない限り、ARPリクエストが利用されます。
特権ユーザ(root) の場合のリクエスト
非特権ユーザの場合のリクエスト
-snオプションは、ディスカバリプローブタイプ( -P*オプション、 -Pn を除外) を組み合わせることができます。 プルーブタイプとポート番号オプションをつかって、デフォルトのプルーブを上書きします。nmap を実行するソースホストとターゲットネットワークの間に厳格なファイアウォールが存在する場合、それらのアドバンスドテクニックの利用を推奨します。そうでなければ、プルーブや彼らのレスポンスがファイアウォールによってドロップされ、ホストを見つけられません。
一般ユーザーでのpingスキャン
% nmap -sn 192.168.0.1-254 Starting Nmap 6.25 ( http://nmap.org ) at 2013-04-25 23:26 JST Stats: 0:00:15 elapsed; 0 hosts completed (0 up), 254 undergoing Ping Scan Ping Scan Timing: About 65.94% done; ETC: 23:26 (0:00:08 remaining) Stats: 0:00:15 elapsed; 0 hosts completed (0 up), 254 undergoing Ping Scan Ping Scan Timing: About 66.44% done; ETC: 23:26 (0:00:08 remaining) Stats: 0:01:05 elapsed; 0 hosts completed (0 up), 254 undergoing Ping Scan Ping Scan Timing: About 92.22% done; ETC: 23:27 (0:00:05 remaining) Stats: 0:01:06 elapsed; 0 hosts completed (0 up), 254 undergoing Ping Scan Ping Scan Timing: About 92.32% done; ETC: 23:27 (0:00:05 remaining) Nmap scan report for router (192.168.0.1) Host is up (0.0013s latency). Nmap scan report for 192.168.0.2 Host is up (0.019s latency). Nmap scan report for 192.168.0.3 Host is up (0.086s latency). Nmap scan report for 192.168.0.4 Host is up (0.057s latency). Nmap scan report for 192.168.0.5 Host is up (0.0027s latency). Nmap scan report for 192.168.0.6 Host is up (0.0014s latency). Nmap scan report for 192.168.0.7 Host is up (0.0023s latency). Nmap scan report for vm.local (192.168.0.8) Host is up (0.0039s latency). Nmap scan report for 192.168.0.9 Host is up (0.0015s latency). Nmap done: 254 IP addresses (9 hosts up) scanned in 72.77 seconds
rootユーザーでのpingスイープ
% sudo nmap -sn 192.168.0.1-254 Starting Nmap 6.25 ( http://nmap.org ) at 2013-04-25 23:30 JST Nmap scan report for router (192.168.0.1) Host is up (0.0011s latency). MAC Address: 00:00:00:00:00:00 (Sumitomo Electric Networks) Nmap scan report for 192.168.0.2 Host is up (0.00075s latency). MAC Address: 00:00:00:00:00:00 (Toshiba) Nmap scan report for 192.168.0.3 Host is up (-0.13s latency). MAC Address: 00:00:00:00:00:00 (Unknown) Nmap scan report for 192.168.0.4 Host is up (1.6s latency). MAC Address: 00:00:00:00:00:00 (Apple) Nmap scan report for 192.168.0.5 Host is up (-0.074s latency). MAC Address: 00:00:00:00:00:00 (Apple) Nmap scan report for 192.168.0.6 Host is up (-0.22s latency). MAC Address: 00:00:00:00:00:00 (Toshiba) Nmap scan report for 192.168.0.7 Host is up (-0.22s latency). MAC Address: 00:00:00:00:00:00 (Asustek Computer) Nmap scan report for 192.168.0.8 Host is up (0.00073s latency). MAC Address: 00:00:00:00:00:00 (Giga-byte Technology Co.) Nmap scan report for vm.local (192.168.0.9) Host is up. Nmap scan report for 192.168.0.10 Host is up (0.00051s latency). MAC Address: 00:00:00:00:00:00 (Allied Telesis K.K. corega division) Nmap done: 254 IP addresses (10 hosts up) scanned in 4.81 seconds
fpingによるpingスイープ
fping は、並列でpingリクエストを送信できます。 シーケンシャルにpingを実行するモデルに比べ、時間を短縮できます。
1$ printf "192.168.0.1\n192.168.0.2" | fping 192.168.0.1 is alive ICMP Host Unreachable from 192.168.0.33 for ICMP Echo sent to 192.168.0.2 192.168.0.2 is unreachable
fping は、引数で対象を指定できます。
$ fping 192.168.0.1 192.168.0.2 192.168.0.1 is alive ICMP Host Unreachable from 192.168.0.33 for ICMP Echo sent to 192.168.0.2 192.168.0.2 is unreachable
関連項目
ツイート