名字:
nc - 連線、監聽任意的tcp和udp。
概要:nc [-46ddhklnrstuuvzc] [-i 間隔] [-p 源埠]
[-s 源ip位址] [-t 服務型別] [-w 超時時間] [-x **協議]
[-x **位址[:埠]] [主機名] [埠[s]]
詳細說明:
nc(netcat)的功能使用是涉及到tcp或者udp的時候。它可以開啟tcp連線,傳送udp包,監聽任意的tcp和udp埠,掃瞄埠,處理ipv4和ipv6。nc指令碼是非常好的,跟telnet(1)不一樣,它把錯誤資訊輸出到標準錯誤輸出上而不是輸出到標準輸出上(螢幕)。
常用的用法:
* 簡單的tcp**
* 基於http客戶端和伺服器端的shell 指令碼
* 測試網路上的守護程序
選項如下:
客戶端/伺服器 模式:
使用nc很容易建立乙個很基本的客戶端/伺服器。在乙個控制台,開啟nc監聽乙個指定埠的連線。
例如:
$ nc -l 1234
nc正在監聽在1234埠上的連線。在第二個控制台(或第二天機器),連線到正在被監聽的主機的埠:
$ nc 127.0.0.1 1234
現在在兩個埠之間建立了連線。第二個控制台的任何型別將會連線到第乙個,反之亦然。
當連線設定完成,nc不關心哪邊是伺服器哪邊是客戶端。使用eof('^d')來結束連線。
資料傳輸:
前面的例子已經詳述了如何建立乙個基本的資料傳輸模型。在連線的任何一端輸入任何資訊都會輸出到另外一端,為了**檔案傳輸,輸入輸出可以很容易的捕獲。
使用nc開啟乙個指定埠的監聽,將輸出捕獲到乙個檔案中:
nc -l 1234 > filename.out
使用第二個機器,連線到nc正在監聽的程序,將準備傳輸的檔案傳送到第乙個主機nc正在監聽的程序:
$ nc host.example.com 1234 < filename.in
傳輸完成,連線自動關閉。
對話伺服器:$ echo -n "get / http/1.0\r\n\r\n" | nc host.example.com 80
注意到這裡也顯示了web伺服器傳送的報頭。如有必要,使用sed(1)可以過濾掉報頭。
當使用者知道伺服器請求命令的格式後可以進行更複雜的例子操作。
另乙個例子,郵件可能被提交到乙個smtp伺服器的用法:
$ nc [-c] localhost 25 << eof
helo host.example.com
mail from: rcpt to : data
body of email .
.quit
eof
埠掃瞄:
可以知道目標主機上開啟的埠和服務。-z選項告訴nc列印開啟的埠而不是發起乙個連線。例如:
$ nc -z host.example.com 20-30
connection to host.example.com 22 port [tcp/ssh] succeeded!
connection to host.example.com 25 port [tcp/ssh] succeeded!
只搜尋指定範圍20-30的埠。
作為一種選擇,它可以知道目標主機正在執行的軟體和版本。這些纖細經常包含在問候的標語之中。
為了重新得到這些資訊,必須首先建立乙個連線,當重新得到標語之後就斷開連線。
可以通過-w指定乙個比較小的超時時間或者通過傳送「quit"命令給伺服器來完成:
$ echo "quit" | nc host.example.com 20-30
ssh-1.99-openssh_3.6.1p2
protocol mismatch.
220 host.example.com ims smtp receiver version 0.84 ready
例子:
$ nc -p 31337 -w 5 host.example.com 42
$ nc -p 31337 -w 5 host.example.com 42
開啟乙個到host.example埠為53的udp連線:
$ nc -u host.example.com 53
使用10.1.2.3作為本地主機ip開啟乙個到host.example埠為42的tcp連線:
$ nc -s 10.1.2.3 host.example.com 42
建立並監聽乙個unix socket 守護程序:
$ nc -lu /var/tmp/dsocket
通過了乙個ip為10.2.3.4的http**伺服器的8080埠,連線到host.example.com的42埠。這個例子也可以使用ssh(1)來實現;更多資訊可檢視ssh_config(5)的proxycommand指令。
$ nc -x10.2.3.4:8080 -xconnect host.example.com 42
nc命令說明
一,什麼是nc nc是netcat的簡寫,因為它短小精悍 功能實用,被設計為乙個簡單 可靠的網路工具 二,nc的作用 1 實現任意tcp udp埠的偵聽,nc可以作為server以tcp或udp方式偵聽指定埠 2 埠的掃瞄,nc可以作為client發起tcp或udp連線 3 機器之間傳輸檔案 4 機...
nc 監聽資料 linux包之nc之nc命令
nc 1.84 22.el6.x86 64 不用系統上提供的nc版本會有所不同,其提供的引數使用方法也略有差異 nc v w 1 192.168.2.10 z 1 65535 grep succeeded 埠掃瞄 1.4 強制使用ipv4 2.6 強制使用ipv6 3.d 允許socket通訊返回d...
Linux命令手冊 nc
nc 任意tcp和udp連線和監聽 nc 46ddhklnrstuuvzc i interval p source port s source ip address t tos w timeout x proxy protocol x proxy address port hostname port...