FIN スキャン
FIN スキャンでは
FINパケットという
FINフラグを設定したTCPパケットを送信する
FINパケットは
通信終了要求に使われるが
通信前にFINパケットを送信し端末の様子を待つ
今回は
Metasploitable の21ポートのFTPに対して
FINスキャンを行う
nmap -sF -p 21 192.168.1.137
結果は
Starting Nmap 7.70 ( https://nmap.org ) at 2020-04-25 04:44 JST Nmap scan report for 192.168.1.137 Host is up (0.00030s latency). PORT STATE SERVICE 21/tcp open|filtered ftp MAC Address: 08:00:27:55:20:B9 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.63 seconds
となり
Wireshark で
statictics > Flow Graph
で表示
Flow type を
TCP Flows にして確認すると
応答がないことがわかる
FINパケットを送信して
ポートが開いているなら応答がない
また
フィルタリングされていても応答がない
なお Windows 系OSだと Fin スキャンに反応しないので
WindowsOSであるか判別するのにも使える
次に閉じているポートに実行
nmap -sF -p 24 192.168.1.137
結果は
Starting Nmap 7.70 ( https://nmap.org ) at 2020-04-25 04:50 JST Nmap scan report for 192.168.1.137 Host is up (0.00047s latency). PORT STATE SERVICE 24/tcp closed priv-mail MAC Address: 08:00:27:55:20:B9 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.43 seconds
となり
Wireshark でみてみると
FINパケットを送ると
TCPパケットのRSTと ACK が返ってくるのがわかる
このようにTCPパケットが返ってくるなら
ポートが閉じていると判断できる