linux 下nc 命令的使用linux
netcat被譽爲網絡安全界的‘瑞士×××’,一個簡單而有用的工具,透過使用TCP或UDP協議的網絡鏈接去讀寫數據。它被設計成一個穩定的後門工具,可以直接由其它程序和腳本輕鬆驅動。同時,它也是一個功能強大的網絡調試和探測工具,可以創建你須要的幾乎全部類型的網絡鏈接。
1、基本使用
想要鏈接到某處: nc [-options] hostname port[s] [ports] …
綁定端口等待鏈接: nc -l port [-options] [hostname] [port]
參數:
-h 幫助信息
-l 監聽模式,用於入站鏈接
-n 指定數字的IP地址,不能用hostname
-u UDP模式shell
-t TCP模式(默認模式)
-v 詳細輸出——用兩個-v可獲得更詳細的內容
-w secs timeout的時間
-z 將輸入輸出關掉——用於掃描時
其中端口號能夠指定一個或者用lo-hi式的指定範圍。
1)掃描端口
tcp掃描
shell>nc -v -z -w2 192.168.1.131 1-30
udp掃描
shell>nc -u -v -z -w2 192.168.1.131 1-30
2)鏈接到REMOTE主機,例子:
格式:nc -nvv 192.168.x.x 80
講解:連到192.168.x.x的TCP80端口
3)監聽LOCAL主機,例子:
格式:nc -l 80
講解:監聽本機的TCP80端口
4)掃描遠程主機,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445
講解:掃描192.168.x.x的TCP80到TCP445的全部端口安全
5)兩臺linux主機間傳送數據服務器
Linux A:192.168.1.131網絡
Linux B:192.168.1.132tcp
如今須要從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鏈接,而後把傳輸的文件重定向到數據流當中。
須要注意的一點是,主機偵聽的端口必須是已經開放的端口,能夠經過查看iptables進行配置。ide