1. 程式人生 > >Linux nc/netcat 命令介紹

Linux nc/netcat 命令介紹

don 等待 數據包 opp 範圍 mep -s 操作 nginx

1,nc命令是netcat命令的簡稱,都是用來設置路由器。

2,語法
nc/netcat(選項)(參數)

3,選項
-g<網關>:設置路由器躍程通信網關,最多設置8個;
-G<指向器數目>:設置來源路由指向器,其數值為4的倍數;
-h:在線幫助;
-i<延遲秒數>:設置時間間隔,以便傳送信息及掃描通信端口;
-l:使用監聽模式,監控傳入的資料;
-n:直接使用ip地址,而不通過域名服務器;
-o<輸出文件>:指定文件名稱,把往來傳輸的數據以16進制字碼傾倒成該文件保存;
-p<通信端口>:設置本地主機使用的通信端口;
-r:指定源端口和目的端口都進行隨機的選擇;

-s<來源位址>:設置本地主機送出數據包的IP地址;
-u:使用UDP傳輸協議;
-v:顯示指令執行過程;
-w<超時秒數>:設置等待連線的時間;
-z:使用0輸入/輸出模式,只在掃描通信端口時使用。

4,參數
主機:指定主機的IP地址或主機名稱;
端口號:可以是單個整數或者是一個範圍

5,實例及應用
(a)遠程拷貝文件
從server1拷貝文件到server2上。需要先在server2上,用nc激活監聽。

server2上運行:

[root@localhost2 tmp]# nc -lp 1234 > install.log
server1上運行:

[root@localhost1 ~]# ll install.log

-rw-r–r– 1 root root 39693 12月 20 2007 install.log

[root@localhost1 ~]# nc -w 1 192.168.228.222 1234 < install.log

(b)克隆硬盤或分區
操作與上面的拷貝是雷同的,只需要由dd獲得硬盤或分區的數據,然後傳輸即可。克隆硬盤或分區的操作,不應在已經mount的的系統上進行。所以,需要使用安裝光盤引導後,進入拯救模式(或使用Knoppix工 具光盤)啟動系統後,在server2上進行類似的監聽動作:

nc -l -p 1234 | dd of=/dev/sda
server1上執行傳輸,即可完成從server1克隆sda硬盤到server2的任務:

dd if=/dev/sda | nc 192.168.228.222 1234
完成上述工作的前提,是需要落實光盤的拯救模式支持服務器上的網卡,並正確配置IP。

(c)端口掃描
nc -v -w 1 192.168.228.222 -z 1-1000
localhost2 [192.168.228.222] 22 (ssh) open

(d)保存Web頁面
while true; do
nc -l -p 80 -q 1 < somepage.html;
donen

(e)聊天
nc還可以作為簡單的字符下聊天工具使用,同樣的,server2上需要啟動監聽:

[root@localhost2 tmp]# nc -lp 1234
server1上傳輸:

[root@localhost1 ~]# nc 192.168.228.222 1234
這樣,雙方就可以相互交流了。使用Ctrl+D正常退出。

(f)傳輸目錄

從server1拷貝nginx-0.6.34目錄內容到server2上。需要先在server2上,用nc激活監聽,server2上運行:

[root@localhost2 tmp]# nc -l 1234 | tar xzvf -
server1上運行:

[root@localhost1 ~]# ll -d nginx-0.6.34
drwxr-xr-x 8 1000 1000 4096 12-23 17:25 nginx-0.6.34

[root@localhost1 ~]# tar czvf – nginx-0.6.34 | nc 192.168.228.222 1234

Linux nc/netcat 命令介紹