linux下nc命令的使用

科技小能手發表於2017-11-12

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掃描 

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.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連線,然後把傳輸的檔案重定向到資料流當中。 

需要注意的一點是,主機偵聽的埠必須是已經開放的埠,可以通過檢視iptables進行配置。

本文轉自 yubowei 51CTO部落格,原文連結:http://blog.51cto.com/samyubw/555247


相關文章