「pingスイープ」の版間の差分
(同じ利用者による、間の2版が非表示) | |||
行1: | 行1: | ||
− | + | [[pingスイープ]] (Ping Sweep) とは、[[IPアドレス]]をインクリメントしながら動作するpingを実行し、ネットワークで稼働しているシステムを発見する偵察行為です。[[nmap]] などのコマンドで簡単に行えます。 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | 読み方 | + | '''読み方''' |
;[[pingスイープ]]:ぴん すいーぷ | ;[[pingスイープ]]:ぴん すいーぷ | ||
;ping sweep:ぴん すいーぷ | ;ping sweep:ぴん すいーぷ | ||
− | |||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
+ | [[ping]]を指定した範囲の [[IPアドレス]]に対して行う偵察スキャンの一種です。ネットワークで稼働しているホストを見つけることができます。 | ||
− | [[ping]] | + | [[DNS]] の情報からサーバーの情報を得られるかもしれませんが、ネットワークの到達性は、わかりません。[[ping]] を実行することで、到達性が確認できます。 |
− | + | ||
+ | [[ping]] は、[[ICMP ECHO]] (タイプ 8) のパケットを対象に送信し、もし対象が稼働しているならば、[[ICMP ECHO REPLY]] (タイプ 0) のパケットを受け取ります。 | ||
+ | 小規模・中規模程度のネットワークであれば、稼働しているシステムを洗い出すことは、比較的容易かもしれませんが、大規模ネットワークの場合は、スキャン対象が多くなるため、ネットワークの大きさに応じて、処理時間が増えます。 | ||
== 使い方 == | == 使い方 == | ||
− | + | === nmapでのpingスイープ === | |
− | === | + | |
− | + | ||
[[nmap]] での [[pingスイープ]] は、 -sn オプションを使用します。 | [[nmap]] での [[pingスイープ]] は、 -sn オプションを使用します。 | ||
以前のバージョンでは、 -sn は、 -sP です。 | 以前のバージョンでは、 -sn は、 -sP です。 | ||
行32: | 行27: | ||
-sn オプションは、ホストを発見したあとに、[[ポートスキャン]]を実行しません。 | -sn オプションは、ホストを発見したあとに、[[ポートスキャン]]を実行しません。 | ||
− | + | 存在するホストだけを表示します。これは、pingスキャン(ping scan)です。 | |
[[root]] ユーザ以外は、 connect() システムコールが利用されます。 | [[root]] ユーザ以外は、 connect() システムコールが利用されます。 | ||
行54: | 行49: | ||
* [[TCP]] ポート 443 SYN | * [[TCP]] ポート 443 SYN | ||
* [[TCP]] ポート 80 SYN | * [[TCP]] ポート 80 SYN | ||
− | |||
-snオプションは、ディスカバリプローブタイプ( -P*オプション、 -Pn を除外) を組み合わせることができます。 | -snオプションは、ディスカバリプローブタイプ( -P*オプション、 -Pn を除外) を組み合わせることができます。 | ||
プルーブタイプとポート番号オプションをつかって、デフォルトのプルーブを上書きします。[[nmap]] を実行するソースホストとターゲットネットワークの間に厳格な[[ファイアウォール]]が存在する場合、それらのアドバンスドテクニックの利用を推奨します。そうでなければ、プルーブや彼らのレスポンスが[[ファイアウォール]]によってドロップされ、ホストを見つけられません。 | プルーブタイプとポート番号オプションをつかって、デフォルトのプルーブを上書きします。[[nmap]] を実行するソースホストとターゲットネットワークの間に厳格な[[ファイアウォール]]が存在する場合、それらのアドバンスドテクニックの利用を推奨します。そうでなければ、プルーブや彼らのレスポンスが[[ファイアウォール]]によってドロップされ、ホストを見つけられません。 | ||
− | + | ==== 一般ユーザーでのpingスキャン ==== | |
− | ==== | + | |
− | + | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
% nmap -sn 192.168.0.1-254 | % nmap -sn 192.168.0.1-254 | ||
行93: | 行85: | ||
Nmap done: 254 IP addresses (9 hosts up) scanned in 72.77 seconds | Nmap done: 254 IP addresses (9 hosts up) scanned in 72.77 seconds | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ==== rootユーザーでのpingスイープ ==== | |
− | ==== | + | |
− | + | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
% sudo nmap -sn 192.168.0.1-254 | % sudo nmap -sn 192.168.0.1-254 | ||
行131: | 行121: | ||
Nmap done: 254 IP addresses (10 hosts up) scanned in 4.81 seconds | Nmap done: 254 IP addresses (10 hosts up) scanned in 4.81 seconds | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | === fpingによるpingスイープ === | ||
+ | [[fping]] は、並列で[[ping]]リクエストを送信できます。 | ||
+ | シーケンシャルに[[ping]]を実行するモデルに比べ、時間を短縮できます。 | ||
− | = | + | [[fping]] は、標準入力から[[IPアドレス]] を入力できます。 |
+ | <syntaxhighlight lang="bash"> | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | [[fping]] は、引数で対象を指定できます。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ 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 | ||
+ | </syntaxhighlight> | ||
+ | == 関連項目 == | ||
+ | {{icmp}} | ||
* [[nmap]] | * [[nmap]] | ||
+ | <!-- vim: filetype=mediawiki | ||
+ | --> |
2015年9月22日 (火) 12:12時点における最新版
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