常見Port Scan 在Whireshark 上的值
常見 Port Scan 對應數字
| 掃描方式 | Flags | Wireshark 數值 | 常見 Filter |
|---|---|---|---|
| NULL Scan | 沒有任何 Flag | 0x000 |
tcp.flags == 0x000 |
| FIN Scan | FIN | 0x001 |
tcp.flags == 0x001 |
| SYN Scan | SYN | 0x002 |
tcp.flags == 0x002 |
| ACK Scan | ACK | 0x010 |
tcp.flags == 0x010 |
| Xmas Scan | FIN + PSH + URG | 0x029 |
tcp.flags == 0x029 |
| SYN/ACK | SYN + ACK | 0x012 |
tcp.flags == 0x012 |
| RST/ACK | RST + ACK | 0x014 |
tcp.flags == 0x014 |
| TCP Flag | 十六進位 | 十進位 | 用途 |
|---|---|---|---|
| FIN | 0x001 |
1 | 結束連線 |
| SYN | 0x002 |
2 | 建立連線 |
| RST | 0x004 |
4 | 強制重設連線 |
| PSH | 0x008 |
8 | 要求立即把資料交給應用程式 |
| ACK | 0x010 |
16 | 確認收到資料 |
| URG | 0x020 |
32 | 緊急資料 |
| ECE | 0x040 |
64 | ECN 壅塞通知 |
| CWR | 0x080 |
128 | ECN 回應 |
| NS | 0x100 |
256 | ECN Nonce |
SYN Scan (Half-open Scan)
正常 TCP 建立連線:
1 | |
SYN Scan 通常只做到:
1 | |
哪些 TCP Port 有服務
TCP Connect Scan
進行完整三項交握
確認服務真的能建立連線
FIN Scan
傳送一個只有FIN = 1的封包。
典型 RFC 行為:
1 | |
用異常 TCP 行為推測 Port 狀態
NULL Scan
NULL = Nothing = 0x000
同上,並嘗試避開簡單偵測
Xmas Scan
1 | |
同上,用特殊 Flag 組合探測
ACK Scan
判斷防火牆過濾狀態