【Windows】tracerouteをTCP/UDP ポート指定で 実行 ~nmap –tracerouteオプション~ | SEの道標
検証ツール

【Windows】tracerouteをTCP/UDP ポート指定で 実行 ~nmap –tracerouteオプション~

Windows では tcptraceroute みたいなツールが無さそう

トラブルシュートで nmap の -ttl オプションと wireshark で頑張ろうと思っていた矢先、

nmap --traceroute オプションを発見!

試してみたら簡単に使えました。

Windows への nmap のインストール

nmap.org のサイト (以下 URL) から Latest stable release self-installer の exe をダウンロードし、実行 (インストール) します。

Download the Free Nmap Security Scanner for Linux/Mac/Windows
Official Download site for the FreeNmap ...

インストールは成り行きで OK。インストール後は再起動は求められませんでした。また、パスも自動で付きました。

コマンドプロンプトを起動し、nmap と打ち、以下のようなヘルプが出てくれば、インストール完了、パスも張られた状態です。

C:\Users\test> nmap
Nmap 7.92 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
  Can pass hostnames, IP addresses, networks, etc.
~~~
EXAMPLES:
  nmap -v -A scanme.nmap.org
  nmap -v -sn 192.168.0.0/16 10.0.0.0/8
  nmap -v -iR 10000 -Pn -p 80
SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES

nmap の --traceroute オプションで tcp/udp の traceroute を実行する

TCP 443 port で traceroute を実行

以下に実行例を示します。-p でポート番号を指定しています。-n は表示された IP アドレスの逆引きをしない設定です。なお、ここで -sT を指定してしまうと、icmp での traceroute になってしまいました。

C:\Users\test> nmap --traceroute -p 443 -n 1.1.1.1
Starting Nmap 7.92 ( https://nmap.org ) at 2022-01-21 12:27 東京 (標準時)
Nmap scan report for 1.1.1.1
Host is up (0.011s latency).

PORT    STATE SERVICE
443/tcp open  https

TRACEROUTE (using port 443/tcp)
HOP RTT      ADDRESS
1   42.00 ms 192.168.0.1
2   11.00 ms 192.168.1.1
3   ... 5
6   13.00 ms 210.130.142.93
7   13.00 ms 58.138.88.38
8   13.00 ms 58.138.112.142
9   ... 10
11  33.00 ms 1.1.1.1

Nmap done: 1 IP address (1 host up) scanned in 3.14 seconds

UDP 53 port で traceroute を実行

以下に実行例を示します。-sU で UDP を指定、-p でポート番号を指定しています。-n は表示された IP アドレスの逆引きをしない設定です。

C:\Users\test> nmap --traceroute -sU -p 53 -n 1.1.1.1
Starting Nmap 7.92 ( https://nmap.org ) at 2022-01-21 10:39 東京 (標準時)
Nmap scan report for 1.1.1.1
Host is up (0.0089s latency).

PORT   STATE SERVICE
53/udp open  domain

TRACEROUTE (using port 53/udp)
HOP RTT      ADDRESS
1   3.00 ms  192.168.0.1
2   2.00 ms  192.168.1.1
3   5.00 ms  210.148.147.106
4   7.00 ms  210.148.147.65
5   6.00 ms  210.130.183.245
6   7.00 ms  210.130.142.93
7   6.00 ms  58.138.80.198
8   7.00 ms  58.138.114.134
9   10.00 ms 210.173.176.127
10  7.00 ms  172.70.120.2
11  ... 30

Nmap done: 1 IP address (1 host up) scanned in 6.20 seconds

nmap --traceroute はターゲット IP への到達性が無いと traceroute できない

試していて気付いたのですが、指定した IP への、指定したポート宛での疎通性が無いと途中経路を表示しないことが分かりました。

そこで最終的には結局、--ttl を 1 ずつ増やしていくことに。。。

C:\Users\test> nmap -n -Pn -sU -p 53 --packet-trace 4.4.4.4 --ttl 3
Starting Nmap 7.92 ( https://nmap.org ) at 2022-01-21 14:34 東京 (標準時)
SENT (0.0910s) UDP 192.168.0.28:51154 > 4.4.4.4:53 ttl=3 id=4833 iplen=40
SENT (0.0920s) UDP 192.168.0.28:51154 > 4.4.4.4:53 ttl=3 id=4833 iplen=58
RCVD (0.0960s) ICMP [210.148.147.106 > 192.168.0.28 TTL=0 during transit (type=11/code=0) ] IP [ttl=253 id=0 iplen=56 ]
Nmap scan report for 4.4.4.4
Host is up (0.0050s latency).

PORT   STATE    SERVICE
53/udp filtered domain

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

C:\Users\test> nmap -n -Pn -sU -p 53 --packet-trace 4.4.4.4 --ttl 4

おまけ Linux の場合

traceroute パッケージをインストールすれば OK。

traceroute パッケージのインストール

RHEL 系 (CentOS/Rocky Linux/Almalinux) への traceroute インストール

[root@localhost ~]# dnf install -y traceroute

Debian 系 (Ubuntu) への traceroute インストール

test@ubuntu:$ sudo apt install -y traceroute

TCP 443 の traceroute

traceroute ではなく tcptraceroute を使います。traceroute パッケージに含まれています。

# tcptraceroute -n 1.1.1.1 443

UDP 53 の traceroute

こちらは純粋な traceroute を使います。

# traceroute -n -U 1.1.1.1 53

コメント

  1. -Pnで、対象がOpenかどうか関係なく、実行するかもしれない。

タイトルとURLをコピーしました