linux中的nc命令的詳細解釋
linux中的nc命令的詳細解釋
linxu下的nc命令其實是netcat命令的縮寫形式,是一個功能強大的網(wǎng)絡(luò)工具,下面由學(xué)習(xí)啦小編為大家整理了linux的nc命令的詳細解釋的相關(guān)知識,希望對大家有幫助!
一、linux中的nc命令的詳細解釋
Linux中nc命令是一個功能強大的網(wǎng)絡(luò)工具,全稱是netcat。
語法:
nc [-hlnruz][-g<網(wǎng)關(guān)...>][-G<指向器數(shù)目>][-i<延遲秒數(shù)>][-o<輸出文件>][-p<通信端口>][-s<來源位址>][-v...][-w<超時秒數(shù)>][主機名稱][通信端口...]
參數(shù)說明:
-g<網(wǎng)關(guān)> 設(shè)置路由器躍程通信網(wǎng)關(guān),最丟哦可設(shè)置8個。
-G<指向器數(shù)目> 設(shè)置來源路由指向器,其數(shù)值為4的倍數(shù)。
-h 在線幫助。
-i<延遲秒數(shù)> 設(shè)置時間間隔,以便傳送信息及掃描通信端口。
-l 使用監(jiān)聽模式,管控傳入的資料。
-n 直接使用IP地址,而不通過域名服務(wù)器。
-o<輸出文件> 指定文件名稱,把往來傳輸?shù)臄?shù)據(jù)以16進制字碼傾倒成該文件保存。
-p<通信端口> 設(shè)置本地主機使用的通信端口。
-r 亂數(shù)指定本地與遠端主機的通信端口。
-s<來源位址> 設(shè)置本地主機送出數(shù)據(jù)包的IP地址。
-u 使用UDP傳輸協(xié)議。
-v 顯示指令執(zhí)行過程。
-w<超時秒數(shù)> 設(shè)置等待連線的時間。
-z 使用0輸入/輸出模式,只在掃描通信端口時使用。
二、Linux中的nc命令使用實例
1、TCP端口掃描
# nc -v -z -w2 127.0.0.1 1-100
Connection to 127.0.0.1 22 port [tcp/ssh] succeeded!
Connection to 127.0.0.1 53 port [tcp/domain] succeeded!
Connection to 127.0.0.1 80 port [tcp/http] succeeded!
...
nc: connect to 127.0.0.1 port 100 (tcp) failed: Connection refused
2、從192.168.1.2拷貝文件到192.168.1.3
首先在接收端192.168.1.3上: nc -l 1234 > test.txt
然后在發(fā)送端192.168.1.2上: nc 192.168.1.3 < test.txt
注意:先運行接收端,指定一個端口為1234,文件為test.txt,再執(zhí)行發(fā)送端,并且發(fā)送端必須存在同名的文件test.txt
3、傳輸目錄
從server1(192.168.16.233)拷貝nginx目錄內(nèi)容到server2(192.168.48.47)上。需要先在server2上,用nc激活監(jiān)聽,
server2上運行:# nc -l 1234 | tar xzv-
server1上運行:# tar czv- nginx | nc 192.168.48.47 1234
4、簡單聊天工具
在192.168.1.2上: nc -l 1234
在192.168.1.3上: nc 192.168.1.2 1234
這樣,雙方就可以相互交流了。使用ctrl+C(或D)退出
三、Linux中的nc命令基本用法
1.監(jiān)聽本地端口
復(fù)制代碼代碼如下:
root@10.1.1.43:~# nc -l -p 1234
root@10.1.1.43:~# netstat -tunlp | grep 1234
tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 15543/nc
2.端口掃描
復(fù)制代碼代碼如下:
root@10.1.1.43:~# nc -v -w 10 10.1.1.180 80
(UNKNOWN) [10.1.1.180] 80 (www) open
復(fù)制代碼代碼如下:
root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000
(UNKNOWN) [10.1.1.180] 22000 (?) open
(UNKNOWN) [10.1.1.180] 80 (www) open
3.文件傳出
源10.1.1.43 text.txt
目的 10.1.1.180
復(fù)制代碼代碼如下:
root@10:~# nc -l -p 1234 > test.txt #開10.1.1.180:1234端口監(jiān)聽,并將socket傳輸過來的數(shù)據(jù)重定向到test.txt文件 test 43 nc
root@10.1.1.43:~#cat test.txt
root@10.1.1.43:~# nc 10.1.1.180 1234 < test.txt #連接遠程的10.1.1.180,從test.txt的路徑從定向到socket,從而將文件傳輸?shù)竭h方。
root@10:~# cat test.txt
test 43 nc
4.目錄傳輸
源10.1.1.43 python_program
目的 10.1.1.180
復(fù)制代碼代碼如下:
root@10:~# nc -l -p 1234 | tar xzvf -
root@10.1.1.43:~# tar czvf - python_program | nc 10.1.1.180 1234
python_program/
python_program/1.py
python_program/4.py
python_program/3.py
5.測試UDP端口
復(fù)制代碼代碼如下:
root@172.16.211.34:web# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1111/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 887/dhclient
復(fù)制代碼代碼如下:
root@172.16.211.35:~# nc -vuz 172.16.211.34 68
Connection to 172.16.211.34 68 port [udp/bootpc] succeeded!