nc命令介紹

2021-08-08 09:44:22 字數 2594 閱讀 7774

名字:

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...