
# 用 Linux nmap 掃描內網:一分鐘睇晒邊部機開咗咩 Port
做 IT 嘅朋友,成日都會遇到一個情況:公司內網突然有部機怪怪哋,又或者新裝咗部伺服器,想確認佢開咗邊啲服務、有冇開咗啲唔應該開嘅 port。呢個時候,`nmap` 就係你最可靠嘅朋友。
今次我哋就用最貼地嘅方式,一步步教你點用 **nmap** 掃描內網,唔使裝任何嘢,Ubuntu / CentOS 直接開箱即用。
## 乜嘢係 nmap 掃描?
**nmap**(Network Mapper)係一個開源嘅網絡掃描工具,可以用嚟發現網絡上嘅主機、服務、作業系統版本,甚至做安全審計。對網絡管理員嚟講,nmap 係排查內網問題同做安全檢查嘅必備神器。
## 第一步:安裝 nmap
喺 Debian / Ubuntu 系統:
sudo apt update
sudo apt install -y nmap
喺 CentOS / RHEL 系統:
sudo yum install -y nmap
裝完之後,可以睇吓版本確認成功:
nmap --version
## 第二步:掃描單一主機
最基本嘅用法,就係掃描一部機嘅常用 port:
nmap 192.168.1.100
輸出會類似咁:
Starting Nmap 7.80 ...
Nmap scan report for 192.168.1.100
Host is up (0.0012s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
見到 `STATE` 係 `open` 嘅,就代表嗰個 port 有服務喺度聽緊。
## 第三步:掃描成個網段
想一次過睇晒成個 subnet 有邊部機?用 CIDR 表示法:
nmap -sn 192.168.1.0/24
`-sn` 參數係 ping scan,只係想知道邊部機 alive,唔會深入掃 port,速度快好多。呢個好適合做「盤點內網有幾多部機」。
## 第四步:深入掃描指定主機
想睇埋服務版本同作業系統?加 `-sV` 同 `-O`:
sudo nmap -sV -O 192.168.1.100
`-sV` 會嘗試偵測每個 port 背後嘅服務版本,`-O` 就係偵測作業系統。呢兩個參數係做漏洞評估時好常用。
## 第五步:掃描全部 port
預設 nmap 只掃描最常用嘅 1000 個 port。如果你想掃晒全部 65535 個 port:
nmap -p- 192.168.1.100
`-p-` 代表掃晒所有 port。雖然時間會長啲,但係做安全審計時就一定要咁做,因為有啲惡意服務會特登用啲冷門 port。
## 注意事項
– 掃描之前,確保你有權限掃描嗰啲主機(尤其係公司環境,要跟返內部政策)
– 用 `sudo` 先可以用到完整嘅 SYN scan(`-sS`),因為佢要建立 raw socket
– 掃描大量主機時,記得考慮網絡負載,唔好影響正常業務
## 總結
nmap 掃描係每個 IT 人必學嘅技能。由簡單嘅單機掃描到成個網段盤點,再到深入嘅服務偵測,nmap 都可以幫你快速掌握內網狀況。下次遇到網絡問題,唔好估,直接開 nmap 掃一掃就知真相。



