亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中nc命令怎么用

發布時間:2021-12-30 15:58:46 來源:億速云 閱讀:174 作者:小新 欄目:系統運維

這篇文章將為大家詳細講解有關linux中nc命令怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

查看端口是否被占用

還記得我們在netstat中介紹的如何查看端口被占用嗎?nc也可以完成這樣的事情。它使用-l(listen)參數,用于綁定指定端口并監聽連接:

$ nc -l 6379nc: Address already in use

當看到Address already in use的時候,就知道這個端口被占用了,否則它就會在這個端口監聽。當然這個作用是我瞎說的,但是可以用。

端口掃描

例如需要掃描某個機器上21-30哪些端口是開放的:

$ nc  -n 127.0.0.1 -z 1230-1234 -v nc: connect to 127.0.0.1 port 1230 (tcp) failed: Connection refused nc: connect to 127.0.0.1 port 1231 (tcp) failed: Connection refused nc: connect to 127.0.0.1 port 1232 (tcp) failed: Connection refused nc: connect to 127.0.0.1 port 1233 (tcp) failed: Connection refused Connection to 127.0.0.1 1234 port [tcp/*] succeeded!

其中-n說明直接使用ip地址,而不使用域名,-z指定端口范圍,-v輸出詳細信息。從結果就可以看到,1234端口是可連接的。

TCP/UDP連接測試

當你在學習TCP相關的內容時,是否想著如何自己實踐觀察里面的狀態或者數據包?雖然推薦自己去寫一個TCP連接的服務端-客戶端程序,但是也可以利用nc命令來完成,例如,在一個終端中輸入如下內容:

$ nc -l 1234 hello 編程珠璣

表明在1234端口監聽,然后可以在另外一個終端進行連接;

$ nc 127.0.0.1 1234 hello 編程珠璣

連接本地地址1234端口,這個過程中就可以抓包,分析TCP的三次握手了。

除此之外,你還可以在建立好的連接之間發送消息(簡單的聊天功能),讓你分析更多!

默認情況,它創建的是TCP連接,而使用-u(UDP)參數可以測試UDP連通性。

$ nc -v -u 182.3.226.35 80 Connection to 182.3.226.35 80 port [udp/http] succeeded!

除此之外,還有很多參數用于調試,例如:

  • -b 允許廣播消息

  • -D 開啟socket調試模式

  • -d 禁止從標準輸入讀取內容

  • -k 客戶端退出后,保持連接

  • -v 顯示詳細信息

由于在后面的文章中還會借助nc來說明,因此這里不詳解介紹。

HTTP連接測試

例如查看HTTP頭信息:

$ nc  www.baidu.com 80 HEAD / HTTP/1.1   HTTP/1.1 302 Found Connection: Keep-Alive Content-Length: 17931 Content-Type: text/html Date: Sun, 23 Jun 2019 13:52:12 GMT Etag: "54d9748e-460b" Server: bfe/1.0.8.18

連接后,輸入HEAD / HTTP/1.1或HEAD / HTTP/1.0,然后輸入兩個回車,可查看web服務器相關信息。

數據傳輸

還是利用前面的連接,借助重定向符可以進行文件傳輸,例如服務端監聽,并把內容輸出到out.txt:

$ nc -l 1234 > out.txt

而客戶端連接:

$ nc 127.0.0.1 1234 < in.txt

這樣客戶端in.txt的內容,就會傳輸到out.txt

關于重定向,可參考《如何linux shell中的2 > &1》

當然了,對于文件傳輸,scp命令能更好地完成這件事。如果你沒有其他辦法了,可以試試nc。

網絡測試

前面說到可以通過nc傳輸數據,同樣如果我們想測試兩個主機間的網絡速度(當然你可以利用iperf工具來完成這個工作),nc也是可以幫忙的:

#服務端監聽: $ nc -vl 1234 >/dev/null

其中重定向到/dev/null,表示將數據丟棄。

然后在另一臺主機上執行:

$ dd if=/dev/zero bs=1M count=10 |nc -vn 127.0.0.1 1234 Connection to 127.0.0.1 1234 port [tcp/*] succeeded! 10+0 records in 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.0333675 s, 314 MB/s

dd拷貝數據,這里從/dev/zero拷貝數據0,且一次1M,拷貝10次,最后通過nc命令發送到服務端。結束后,就可以看到統計信息了。

關于“linux中nc命令怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

融水| 长宁县| 龙江县| 滕州市| 庆云县| 建瓯市| 卓资县| 民和| 萍乡市| 吉林省| 河源市| 武夷山市| 深州市| 资兴市| 通海县| 宁武县| 汉寿县| 垫江县| 库车县| 侯马市| 方山县| 嘉义县| 建德市| 依安县| 孙吴县| 蓬安县| 蒲江县| 织金县| 修文县| 应用必备| 阜宁县| 汝阳县| 新绛县| 大田县| 清徐县| 阜南县| 长春市| 平原县| 海丰县| 肥城市| 田阳县|