---
# System prepended metadata

title: nmap 工具使用說明

---

# nmap 工具使用說明

nmap 是個酷酷的網路工具，他可以用來掃描指定主機的 port，算是目前知名且常使用的 port scan 工具。
通常在滲透測試當中，第一步會使用 nmap 進行網路環境的偵查，以便訂定後續進攻路線。
使用這個工具請記住：需要再有授權的狀況下使用，沒設定好會對目標主機產生較大的網路流量負擔！

## How to Install
- Linux
``` 
sudo apt install nmap
```

- mac
```
brew install nmap
```

## 怎麼使用

nmap 的使用其實很簡單，但他的參數很多，該在何時使用何種參數是比較頭痛的一個點，所以以下將會一一說明各參數及對應指令的說明。
以下都會使用 google 的 8.8.8.8 作為預設 ip，實際使用請替換為自己目標主機的 ip!
以下所提到的參數可以混合使用，如
```terminal=
nmap -sV -p 1-65535 -T4 8.8.8.8
```

1. -F
    - 快速探查，若只是需要簡單的知道有開哪些 port 且沒有任何限制，可以使用此指令，將會做到最快速的掃描。
    ```terminal=
    nmap -F 8.8.8.8(IP)
    ```
2. -sS
    - 送出 TCP SYN 封包進行測試，效率較差，需要 sudo 權限
3. -sT
    - 調用 System Call Connect API 發出封包，不需要 sudo 權限，官方文檔中說明若無特別指定 sS 或 sT 將會預設使用 sT
4. -V
    - 顯示偵查到資訊的詳細內容
5. -sV
    - 使用此參數將會在掃描到有開啟的 port 的時候，進一步測試開啟的服務內容與版本資訊。
6. -p
    - 設定指定 port 可以是單一 port 或範圍，若無加此參數預設將是 top 100 port。
    - 掃描 1-65535 port
    ```Terminal=
    nmap -F -p- 8.8.8.8 
    ```
    - 掃描指定 port
    ```
    nmap -F -p 8080(port) 8.8.8.8
    ```
7. -T
    - 設定掃描時間範圍，預設有 0-5 可以選擇，隨著數字越大掃描速度越快，但準度也越低，建議使用 -T4 來增加掃描效率。

8. -top
    - nmap 預設掃描是較常使用的 100 個 port，若認為掃 100 個沒必要，可以透過此參數來調整掃描常用 100 port 的前幾個。
    - 掃描常用 port 前 10 個
    ```
    nmap -top 10 8.8.8.8
    ```

9. 其他
    - 若你要同時掃描多台主機，可以在尾部使用空格隔開不同 ip
    ```
    nmap -F 8.8.8.8 1.1.1.1
    ```
    - 若要掃描指定網域 ip，可以使用 - 作為開頭結尾的區隔
    ```
    namp -F 192.168.1.1-255 (掃描 1~255 的所有主機)
    ```
    
## 懶人指令
如果你是第一次碰滲透測試，需要使用 nmap，也沒時間慢慢玩上面的各個參數，可以使用以下指令。

```Terminal=
nmap -sV -T4 (IP) 掃描常用 100 port 的詳細資訊
nmap -F -T4 (IP) 快速掃描
nmap -sV -T4 -p- (IP) 掃描 1-65535 的所有 port 的詳細資訊
```