用 Linux nmap 掃描內網:一分鐘睇晒邊部機開咗咩 Port

# 用 Linux nmap 掃描內網:一分鐘睇晒邊部機開咗咩 Port 做 IT 嘅朋友,成日都會遇到一個情況:公司內網突然有部機怪怪哋,又或者新裝咗部伺服器,想確認佢開咗邊啲服務、有冇開咗啲唔應該開嘅 port。呢個時候,`nmap` 就係你最可靠嘅朋友。 今次我哋就用最貼地嘅方式,一步步教你點用 **nmap** 掃描內網,唔使裝任何嘢,Ubuntu / CentOS 直接開箱即用。 ## ...

用 Linux nmap 掃描內網:一分鐘睇晒邊部機開咗咩 Port - 文章重點速覽 infographic

# 用 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 掃一掃就知真相。