nc被設計為一個簡單、可靠的網絡工具,可通過TCP或UDP協定傳輸讀寫資料。同時,它還是一個網絡應用Debug分析器,因為它可以根據需要建立各種不同類型的網絡連接配接。
文法:nc [-hlnruz] [-g<網關...>] [-G<指向器數目>] [-i<延遲秒數>] [-o<輸出檔案>][-p<通信端口>] [-s<來源位址>] [-v...] [-w<逾時秒數>] [主機名稱] [通信端口...]
參數:
-g<網關> 設定路由器躍程通信網關,最多可設定8個。
-G<指向器數目> 設定來源路由指向器,其數值為4的倍數。
-h 線上幫助。
-i<延遲秒數> 設定時間間隔,以便傳送資訊及掃描通信端口。
-l 使用監聽模式,管控傳入的資料。
-n 直接使用IP位址,而不通過域名伺服器。
-o<輸出檔案> 指定檔案名稱,把往來傳輸的資料以16進制字碼傾倒成該檔案儲存。
-p<通信端口> 設定本地主機使用的通信端口。
-r 亂數指定本地與遠端主機的通信端口。
-s<源位址> 設定本地主機送出資料包的IP位址。
-u 使用UDP傳輸協定。
-v 顯示指令執行過程。
-w<逾時秒數> 設定等待連線的時間。
-z 使用o輸入/輸出模式,隻在掃描通信端口時使用。
常見使用:
server1:192.168.1.1
server2:192.168.1.2
1.遠端拷檔案
在server2上激活監聽模式,并設定通信端口
[root@server2]#nc -lp 1234 > /etc/passwd
[root@server1]#nc -w 1 192.168.1.2 1234 </etc/passwd
2.克隆硬碟或分區
克隆需要由dd獲得硬碟或分區的資料,然後進行傳輸。需要注意的是,克隆硬碟或分區的操作隻能在未挂載的硬碟上進行。是以,需要使用安裝CD光牒引導後,進入拯救模式啟動系統,在server2上激活監聽模式。
[root@server2]#nc -l -p 1234 | dd of=/dev/sda
[root@server1]#dd if=/dev/sda | nc 192.168.1.2 1234
3.端口掃描
[root@server1]#nc -v -w 1 192.168.1.1 -z 1-1000
server2[192.168.1.2] 22 (ssh) open
4.儲存web頁面
[root@server1]#while true; do nc -l -p 80 -q 1 < somepage.html; done
5.模拟HTTP Headers
[root@server1]#nc www.kangaiweishi.com 80
6.聊天
[root@server1]#nc -l 1234
[root@server2]#nc 192.168.1.1 1234
雙方可以進行簡單字元聊天了,使用Ctrl+D正常退出。
7.傳輸目錄
從server1複制fight_cancer目錄内容到server2上。需要在server2上激活監聽模式。