精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Netcat命令建立和測試TCP和UDP連接

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2022-12-12 17:39 ? 次閱讀

Netcat或nc是一個命令行程序,它使用TCP或UDP協議通過網絡連接讀取和寫入數據。

它是網絡和系統管理員中最強大的工具之一,被視為網絡工具的瑞士軍刀。

Netcat是跨平臺的,可用于Linux,macOS,Windows和BSD。您可以使用Netcat調試和監視網絡連接,掃描打開的端口,傳輸數據,作為代理等等。

Netcat軟件包已預安裝在macOS和流行的Linux發行版,如Ubuntu,Debian,CentOS,Fedora等。

Netcat命令的最基本語法形式是nc [options] host porthost可以是u遠程主機的域名,主機名或者是IP地址。port是端口。

在Ubuntu,您可以使用netcatnc。它們都是Netcat的openBSD版本的符號鏈接。

默認情況下,Netcat將嘗試建立與指定主機的TCP連接。如果要建立UDP連接,請使用-u選項。

nc host port
nc -u host port

端口掃描

在大多數情況下,對于復雜的端口掃描,Nmap是比Netcat更好的工具。

但掃描端口也是Netcat最常見的用途之一。您可以掃描單個端口或端口范圍。例如要掃描范圍為20-80的端口,請運行命令nc -z -v 10.10.8.8 20-80

nc命令的-z選項將不會不向其發送任何數據,而僅掃描開放的端口,如果你需要更多相信的信息請添加-v選項。

如果只是想打印開放端口的行,則可以使用grep命令過濾結果,在每一行輸出的記錄中succeeded表示可以成功連接的端口。

nc命令默認僅掃描TCP端口,如果你需要掃描UDP端口,只需將-u選項添加到nc命令。

nc -z -v 10.10.8.8 20-80
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
nc -z -v -u 10.10.8.8 20-80
nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused
nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
nc: connect to 10.10.8.8 port 23 (tcp) failed: Connection refused
...
nc: connect to 10.10.8.8 port 79 (tcp) failed: Connection refused
Connection to 10.10.8.8 80 port [tcp/http] succeeded!

您也可以使用Netcat查找服務器軟件及其版本。例如,如果您在默認的SSH端口22上向服務器發送EXIT命令,輸出將包含SSH服務的版本號。

echo "EXIT" | nc 10.10.8.8 22
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4
Protocol mismatch.

Netcat 發送文件

通過創建基本的客戶端/服務器模型,可以使用Netcat將數據從一臺主機傳輸到另一臺主機。

使用-l選項運行nc命令在接收的主機監聽指定端口,然后在另一臺遠程主機建立TCP連接并且此主機發送文件。

請在接收端的計算機,運行命令nc -l 5555 > file_name,它將打開端口5555并接收來自遠程計算機的數據,然后將接收的數據重定向到文件file_name

要在發送端的計算機建立與接收端計算機的TCP連接,請運行命令nc receiving.host.com 5555 < file_name

當兩個計算機之間的連接建立時,命令將會開始發送file_name的文件內容到接收端的主機。

nc -l 5555 > file_name #run on receivce of computer
nc receiving.host.com 5555 < file_name #run on send of computer

Netcat 發送目錄

如果要遞歸發送目錄數據,可以使用tar命令在發送端的計算機創建歸檔文件,然后在接收端的計算機提取存檔文件。

在接收端的計算機運行命令nc -l 5555 | tar xzvf -設置Netcat監聽端口5555并接收數據。

然后將接收到的數據通過管道傳遞到tar命令,tar命令的xzvf選項表示提取存檔.tar.gz文件。

在發送端的計算機運行命令tar czvf - /path/to/dir | nc receiving.host.com 5555,建立與接收端計算機的連接,然后發送由tar命令創建存檔文件數據。

您可以在兩端觀察傳輸進度。完成后,鍵入CTRL+C關閉連接。

nc -l 5555 | tar xzvf - #run on receivce of computer
tar czvf - /path/to/dir | nc receiving.host.com 5555 #run on send of computer

創建聊天服務器

在兩個或多個主機之間創建在線聊天的過程與傳輸文件時相同。

首先在第一臺主機運行命令nc -l 5555設置Netcat監聽5555端口,在第二臺主機上,運行命令nc first.host.com 5555連接到第一臺主機的5555端口。

現在,如果您鍵入一條消息并按ENTER,它將同時顯示在兩臺主機上。要關閉連接,請鍵入CTRL+C

nc -l 5555 #run on receivce of computer
nc first.host.com 5555 #run on send of computer

Netcat HTTP請求

盡管有許多更好的HTTP請求工具,例如curl,您也可以使用Netcat將各種請求發送到遠程計算機。

例如,要從OpenBSD網站檢索Netcat手冊頁,請運行以下命令。

命令在終端將會打印HTTP header和HTML代碼的完整響應。

printf "GET /nc.1 HTTP/1.1\\r\\nHost: man.openbsd.org\\r\\n\\r\\n" | nc man.openbsd.org 80

結論

在本教程中,您學習如何使用Netcat命令建立和測試TCP和UDP連接。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208949
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1351

    瀏覽量

    78995
  • UDP
    UDP
    +關注

    關注

    0

    文章

    324

    瀏覽量

    33882
  • 命令行
    +關注

    關注

    0

    文章

    77

    瀏覽量

    10382
收藏 人收藏

    評論

    相關推薦

    TCPUDP建立連接的差異和可靠性的差異

    TCP 建立連接需要經過三次握手,同時 TCP 斷開連接需要經過四次揮手,這也表示 TCP 是一
    發表于 09-02 16:10 ?759次閱讀

    通信必備知識!TCPUDP協議介紹及使用

    TCPUDP是兩個最常用的通訊協議。TCP是面向連接的協議,需要在收發數據前與對方建立可靠的連接
    的頭像 發表于 03-15 08:19 ?1745次閱讀
    通信必備知識!<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協議介紹及使用

    求助關于TCP/UDP傳輸的問題

    本帖最后由 思想的小魚 于 2016-5-20 10:47 編輯 樓主完成了UDPTCP傳輸的模塊,但目的是實現UDP傳輸和接收命令后,遠程
    發表于 05-20 10:43

    如何在Pegasus Wi-Fi IoT智能家居套件上完成UDP服務端實驗

    兩者之間就會建立連接一條TCP連接,此時你在其中一個終端上輸入字符,敲回車就會發送到另一個終端中;UDP服務端模式:
    發表于 08-03 10:30

    如何在Pegasus Wi-Fi IoT智能家居套件上完成UDP客戶端實驗

    兩條命令,它們兩者之間就會建立連接一條TCP連接,此時你在其中一個終端上輸入字符,敲回車就會發送到另一個終端中;
    發表于 08-03 10:33

    TCP&UDP測試軟件

    TCP&UDP測試軟件,用于物聯網模塊 如WIFI模塊的數據測試
    發表于 12-14 15:18 ?6次下載

    TCPUDP的區別分析

      傳輸層協議主要有TCPUDPUDP提供無連接的通信,不能保證數據包被發送到目標地址,典型的即時傳輸少量數據的應用程序通常使用UDP
    發表于 09-18 10:29 ?2次下載

    TCP如何與UDP命令連接詳細指南說明

    本文檔的主要內容詳細介紹的是TCP如何與UDP命令連接詳細指南說明。
    發表于 02-28 08:00 ?6次下載
    <b class='flag-5'>TCP</b>如何與<b class='flag-5'>UDP</b><b class='flag-5'>命令</b><b class='flag-5'>連接</b>詳細指南說明

    TCP, ISO- on- TCP, UDP連接

    TSEND“ & ?TRCV “ 發送和接收數據(TCP 和ISO - on- TCP)?TUSEND“ & ?TURCV“ 發送和接收數據(UDP) 自動連接管理的通訊塊
    的頭像 發表于 06-12 15:11 ?5073次閱讀
    <b class='flag-5'>TCP</b>, ISO- on- <b class='flag-5'>TCP</b>, <b class='flag-5'>UDP</b><b class='flag-5'>連接</b>

    tcpudp協議的異同

    UDP 校驗和則是包含 UDP 首部和數據在內的校驗結果。 TCP協議 TCP協議基于網絡層的 IP 協議提供的是有連接、可靠服務,是基于
    的頭像 發表于 11-12 14:45 ?4022次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b>協議的異同

    UDPTCP的區別

    在上一則文章中,對 TCP 的**三次握手建立連接**和**四次揮手釋放連接**進行了詳細地闡述,本節教程針對于 TCP 的其他內容進行講解
    的頭像 發表于 01-20 17:05 ?1708次閱讀
    <b class='flag-5'>UDP</b>和<b class='flag-5'>TCP</b>的區別

    TCPUDP的區別

    是可靠傳輸,使用流量控制和擁塞控制;UDP是不可靠傳輸 TCP首部最小20字節,最大60字節;UDP首部僅8字節。 2.ISO七層模型及相關協議 物理層:建立、維護、斷開物理
    的頭像 發表于 11-09 09:35 ?5552次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的區別

    TCPUDP的基本區別

    TCPUDP基本區別 基于連接與無連接 TCP要求系統資源較多,UDP較少;
    的頭像 發表于 11-13 15:27 ?4552次閱讀
    <b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>的基本區別

    UDPTCP的主要區別 UDP能否像TCP一樣實現可靠傳輸?

    據包的傳輸不進行確認和重傳,而TCP是一種面向連接的協議,通過確認和重傳來實現可靠的數據傳輸。 首先,UDP連接的特點使得它在傳輸時的開銷較小。U
    的頭像 發表于 01-22 16:10 ?761次閱讀

    udp是什么意思 簡述TCPUDP的區別和聯系

    中的兩個基本協議。然而,TCPUDP之間存在一些重要的區別和聯系。 首先,TCP是一種面向連接的協議,而UDP是無
    的頭像 發表于 02-02 16:33 ?1234次閱讀