linux 下 nc 命令的使用


netcat被譽為網絡安全界的‘瑞士軍刀’,一個簡單而有用的工具,透過使用TCP或UDP協議的網絡連接去讀寫數據。它被設計成一個穩定的后門工具,能夠直接由其它程序和腳本輕松驅動。同時,它也是一個功能強大的網絡調試和探測工具,能夠建立你需要的幾乎所有類型的網絡連接。

一、基本使用

想要連接到某處: nc [-options] hostname port[s] [ports] …
綁定端口等待連接: nc -l port [-options] [hostname] [port]

參數: 
-h 幫助信息 
-l 監聽模式,用於入站連接 
-n 指定數字的IP地址,不能用hostname 
-u UDP模式
-t TCP模式(默認模式) 
-v 詳細輸出——用兩個-v可得到更詳細的內容 
-w secs timeout的時間 
-z 將輸入輸出關掉——用於掃描時 
其中端口號可以指定一個或者用lo-hi式的指定范圍。

1)掃描端口

tcp掃描

nc -v -z -w2 192.168.1.131 1-30

udp掃描

nc -u -v -z -w2 192.168.1.131 1-30

2)連接到遠程主機,例子:

格式:nc -nv 192.168.x.x 80
講解:連到 192.168.x.x 的 TCP80 端口

3)監聽LOCAL主機,例子:

格式:nc -l 80
講解:監聽本機的 TCP80 端口

4)掃描遠程主機,例子:

格式:nc -nv -w2 -z 192.168.x.x 80-445
講解:掃描 192.168.x.x 的 TCP8 0到 TCP445 的所有端口

5)兩台linux主機間傳送數據

Linux A:192.168.1.131
Linux B:192.168.1.132

現在需要從B主機上傳輸一個文件file_b到B主機上,那么操作方法如下所示:

在A主機上:nc -d -l 1000 > /data/file_out &(啟動端口監聽) 
在B主機上:nc 192.168.1.131 1000 < file_in(從A主機上啟動的監聽端口傳送數據)

文件傳輸完畢后,系統會自動斷開連接。

從上面來看,它其實是一個很簡單的Server/Client模式,服務器端開啟偵聽端口,並用輸入輸出重定向到一個文件file.out當中,等待客戶端的連接。

客戶端主動連接主機,並和它建立一個Socket連接,然后把傳輸的文件重定向到數據流當中。



轉載自: http://samyubw.blog.51cto.com/978243/555247


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM