TCP SYN および ACK Ping スキャンを実行する
このステップでは、Nmap を使用して TCP SYN および ACK ping スキャンを実行します。これらのテクニックは、ICMP ping よりも信頼性が高いことが多く、多くのファイアウォールが ICMP トラフィックをブロックする一方で、TCP トラフィックを許可するためです。
最初に、ホストが到達できない場合に何が起きるかを示すために、192.168.1.1 に TCP SYN ping スキャンを試してみましょう。TCP SYN ping は、ターゲットホストに TCP SYN パケットを送信します。ホストが稼働していて、指定されたポート(またはデフォルトで任意のポート)でリスニングしている場合、SYN/ACK パケットで応答します。その後、Nmap は RST パケットを送信して接続をリセットします。
Nmap の -PS オプションは、TCP SYN ping を使用することを指定します。デフォルトでは、Nmap はポート 80 に SYN パケットを送信します。
192.168.1.1 に TCP SYN ping スキャンを実行するには、ターミナルで以下のコマンドを実行します。
sudo nmap -PS 192.168.1.1
このコマンドは、ホスト 192.168.1.1 のポート 80 に TCP SYN パケットを送信するよう Nmap に指示します。sudo は、Nmap が生の TCP パケットを作成および送信するために昇格した権限を必要とするため必要です。
この実験環境では 192.168.1.1 に到達できないため、次の様な出力が出力されます。
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:49 CST
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 2.10 seconds
この出力は、Nmap が 192.168.1.1 に到達できなかったことを示しています。メッセージは、ホストが稼働しているが ping プローブをブロックしている可能性がある場合は -Pn を使用することを示唆しています。
次に、ホストが到達可能な場合にどのように動作するかを確認するために、localhost (127.0.0.1) に TCP SYN ping スキャンを実行してみましょう。
sudo nmap -PS 127.0.0.1
これは、次の様な出力になります。
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:50 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
2121/tcp open ccproxy-ftp
2222/tcp open EtherNetIP-1
3001/tcp open nessus
8080/tcp open http-proxy
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
この出力は、Nmap が localhost を正常に検出し、稼働していることを示し、システム上のオープンポートも表示していることを示しています。
次に、ACK ping スキャンを実行します。ACK ping は、ターゲットホストに TCP ACK パケットを送信します。SYN ping は接続確立を試みるのに対し、ACK ping は既に確立された接続の一部であるように見えるパケットを送信します。ファイアウォールは、SYN パケットとは異なる方法で受信 ACK パケットを処理するルールを持つことが多く、ACK ping はいくつかのファイアウォール構成をバイパスするために役立ちます。
Nmap の -PA オプションは、TCP ACK ping を使用することを指定します。デフォルトでは、Nmap はポート 80 に ACK パケットを送信します。
最初に、192.168.1.1 に ACK ping を試してみましょう。
sudo nmap -PA 192.168.1.1
予想通り、ホストがダウンしていることが示されます。
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:50 CST
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 2.11 seconds
次に、localhost に TCP ACK ping スキャンを実行して成功した場合を見てみましょう。
sudo nmap -PA 127.0.0.1
これは、次の様な出力になります。
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 09:50 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000040s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
2121/tcp open ccproxy-ftp
2222/tcp open EtherNetIP-1
3001/tcp open nessus
8080/tcp open http-proxy
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
この出力は、Nmap が localhost に TCP ACK パケットを送信し、応答を受信したため、ホストが稼働していることを示しています。また、スキャンではシステム上のオープンポートも表示されています。