[THM][Note] Nmap Live Host Discovery
https://tryhackme.com/room/nmap01
Task3
What is the first IP address Nmap would scan if you provided 10.10.12.13/29
as your target?
- 以下のコマンドを実行
$ nmap -sL 10.10.12.13/29
How many IP addresses will Nmap scan if you provide the following range 10.10.0-255.101-125
?
- 以下のコマンドを実行
$ namp -sL -Pn 10.10.0-255.101-125
- もしくは、第3オクテッドのレングス(255-0+1=256)と、第4オクテッドのレングス(125-101+1=25)を使用して、以下のように計算しても割り出せる。
256 * 25 = 6400
Task4
What is the type of packet that computer1 sent before the ping?
- シミュレーターで以下のようにpingをセットして実行する。
- pingが実行される前にARPでどの様なやり取りがされているかをログから確認する。

What is the type of packet that computer1 received before being able to send the ping?
- 上記と同じログで確認が出来る。
How many computers responded to the ping request?
- 最初に青丸でARPのやり取りがされた後、Pingの緑丸の動きを確認する。
What is the name of the first device that responded to the first ARP Request?
- 以下のようにシミュレーターをセットして、ログでARPの動きを確認する。

What is the name of the first device that responded to the second ARP Request?
- 上記と同じく上記の設定での実行結果のログを確認する。
Send another Ping Request. Did it require new ARP Requests? (Y/N)
- ARPにより一度学習したMacアドレスは、ARPテーブルに保存されているため、2度目のARPのやり取りが不要となることを、シミュレーターで確認する。
Task5
How many devices are you able to discover using ARP requests?
- Dataの部分に、シミュレーターに存在しているHOST名を自分以外、順番に入れて実行する。
- ARPレスポンスが返ってくるHOSTの数を確認する。
- ここで抑えておきたいことは、「別ネットワークからARPは返ってこない」。

Task6
ICMPメッセージタイプ
タイプ(10進数) | 内容 |
---|---|
0 | エコー応答(Echo Reply) |
3 | 到達不能(Destination Unreachable) |
5 | リダイレクト(Redirect) |
8 | エコー要求(Echo Request) |
9 | ルーター広告(Router Advertisement) |
10 | ルーター請願(Router Solicitation) |
11 | 時間超過(Time Exceeded) |
12 | パラメータ異常(Parameter Problem) |
13 | タイムスタンプ要求(Timestamp Request) |
14 | タイムスタンプ応答(Timestamp Reply) |
17 | アドレスマスク要求(Address Mask Request) |
What is the option required to tell Nmap to use ICMP Timestamp to discover live hosts?
- 説明文をよく読み、上記の「ICMPメッセージタイプ」の14番をnmapで実行するにはどうするかを探す。
What is the option required to tell Nmap to use ICMP Address Mask to discover live hosts?
- 説明文をよく読み、上記の「ICMPメッセージタイプ」の17番をnmapで実行するにはどうするかを探す。
What is the option required to tell Nmap to use ICMP Echo to discover live hosts?
- 説明文をよく読み、上記の「ICMPメッセージタイプ」の8番をnmapで実行するにはどうするかを探す。
Task7
- 「-P」から始まるオプションは、Pingのタイプ指定と覚えましょう。
- しかし「-PS」「-PA」「-PU」などのオプションはTCPもしくはUDPを使用します。
- 「-P」系のオプションの特徴としては、ポートスキャンしないで実行「-sn」できるので、検知される可能性を下げる期待ができます。とは言え、デフォルトの80番に対してはスキャンを行います。
- スキャンタイプを指定するための似たようなオプション「-s」系もありますが、違いは「-s」系では「-sn」オプションの併用ができません。
pingタイプを指定したスキャンはコツがいります。例えば、「-PA」を指定したとしても、どの様な状況で実行したかの組み合わせによって、送信されるパケットの内容が変わります。以下、「-PA」を指定して想定通りのパケットが送信されるのは、「root」かつ「リモートネットワークに対して」の場合のみです。別のpingタイプ(-PEや-PSなど)が指定されている場合でも同じで、
- 同一のLAN上にあるターゲットに対しては、Nmapはそれらの代わりにARPを用いる。
- 生パケットにアクセスできる権限がない場合は、エラーを出さずに「通常の3WAYハンドシェイク」を使用する。
という仕様があるからです。
ローカルネットワーク | リモートネットワーク | |
---|---|---|
一般ユーザー | 1. ARPによるライブホスト検出が行われる。 2. 通常の3WAYハンドシェイクが行われる。 | 1. 通常の3WAYハンドシェイクが行われる。 |
root | 1. ARPによるライブホスト検出が行われる。 | 1. ACKパケットが送信される。 |
Which TCP ping scan does not require a privileged account?
- 上記の説明を元に、root権限がなくても意図したとおりに動く、オプションを考えましょう。
Which TCP ping scan requires a privileged account?
- 上記の説明をもとに、実行できるがroot権限でないと意図したとおりに動かないオプションを考えましょう。
What option do you need to add to Nmap to run a TCP SYN ping scan on the telnet port?
- SYN Pingスキャンにポート指定する方法を考えましょう。
Task8
We want Nmap to issue a reverse DNS lookup for all the possibles hosts on a subnet, hoping to get some insights from the names. What option should we add?
(使いどころ)
LAN内のオフラインのHOSTもLAN内のDNSを指定して、名前解決を試みる。
$ nmap -R --dns-servers 192.168.1.1 192.168.1.0/24