講 Port Scan,不碰 Nmap 有點可惜。
Nmap 是很常見的網路掃描工具,可以幫忙看目標主機有哪些 Port 開著,也能做服務版本偵測等事情。
不過第一次用,不要急著背一堆參數。先試這個
nmap 127.0.0.1
或掃自己管理的 Lab 主機。
結果可能像這樣:
PORT STATE SERVICE
22/tcp open ssh
80/tcp closed http
PORT:哪個 Port。
STATE:Nmap 判斷的狀態。
SERVICE:它推測這個 Port 常見的服務。
如果是Windows版本可能長這樣
如果看到
22/tcp open ssh
它只是表示這個 Port 有服務在聽。
網站要給人看,80 或 443 本來就可能要開。
管理員要遠端管理,SSH 也可能要開。
你需要想的是
這個服務為什麼要開?
它應該對誰開?
它需不需要暴露在 Internet?
例如資料庫 Port 對內部系統開,可能合理。
直接對全世界開,可能就值得重新想想。
可以做一件事。
先用 netstat 或 ss 看自己主機有哪些服務在 Listening。
再用 Nmap 從另一台主機掃它。
結果不一定完全一樣。
可能因為 Firewall。
可能因為服務只綁在 127.0.0.1。
可能因為網路路徑不同。
這件事很重要。
主機自己看到的是「屋內視角」。
掃描者看到的是「窗外視角」。
兩個都要看,才比較完整。
Nmap 只知道 Port 開著還不夠。
它有時候還能猜出後面跑的是什麼服務。