8個nc命令的實用案例

2020-12-22 51cto

1. 前言

netcat(簡稱nc)是一個簡單但功能強大的網絡命令行工具,用於執行Linux中與TCP、UDP或Unix套接字相關的任何操作。

netcat可用於埠掃描,埠重定向,啟動埠監聽器;它還可以用來打開遠程連接和許多其他事情。此外,您可以使用它作為後門訪問目標伺服器。

在本文中,我們將通過使用案例解釋netcat使用命令。

2. 如何在Linux中安裝和使用netcat

要在系統上安裝netcat包,請使用Linux發行版的默認包管理器。

基於CentOS或RHEL體系安裝nc命令

  1. yum install nc 

基於Fedora 22+ 或 RHEL 8安裝nc命令:

  1. dnf install nc 

基於Debian或Ubuntu安裝nc命令:

  1. sudo apt-get install netcat 

一旦安裝了netcat包,您可以在下面的示例中進一步學習netcat命令的用法。

3. 使用nc命令掃描埠

netcat可用於埠掃描:了解目標伺服器上哪些埠是打開的並正在運行服務。它可以掃描一個或多個或一系列打開的埠。

使用nc命令掃描埠

下面是一個示例,-z選項將nc設置為只掃描偵聽守護進程,而不實際向它們發送任何數據。-v選項啟用詳細模式,而-w指定無法建立連接的超時。

掃描單個埠:

  1. nc -v -w 2 z 192.168.56.1 22 

掃描多個埠:

  1. nc -v -w 2 z 192.168.56.1 22 80 

掃描埠範圍:

  1. nc -v -w 2 z 192.168.56.1 20-25 

4. 在Linux伺服器之間傳輸文件

netcat允許您在兩臺Linux伺服器之間傳輸文件,這兩個系統都必須安裝nc。

例如,要將ISO映像文件從一臺計算機複製到另一臺計算機並監視傳輸過程(使用pv實用程序),請在發送者(存在ISO文件的地方)上運行以下命令。

先安裝pv命令,比如在CentOS系統上執行以下命令安裝pv程序:

  1. yum -y install pv 

這將在埠3000上以監聽模式(-l選項)運行nc,在伺服器上運行以下命令:

伺服器的IP位址為192.168.192.134

  1. tar -zcf - zcwyou.rar  | pv | nc -l -p 3000 

在接收端/客戶端計算機上,運行以下命令來獲取文件。

  1. nc 192.168.192.134 3000 | pv | tar -zxf - 

5. 創建一個命令行聊天伺服器

您還可以使用netcat立即創建一個簡單的命令行消息傳遞伺服器。與前面的使用示例一樣,必須在聊天室使用的兩個系統上安裝nc。

在一個系統上,運行以下命令創建在埠5000上偵聽的聊天伺服器。

  1. nc -l -vv -p 5000 

創建一個命令行聊天伺服器

在另一個系統上,運行以下命令,在運行消息傳遞伺服器的機器上啟動聊天會話。

  1. nc 192.168.192.134 5000 

命令行聊天客戶端

6. 創建一個基本的Web伺服器

使用nc命令的-l選項創建基本的、不安全的web伺服器。為了演示這一點,創建如下所示的html文件。

  1. vim index.html 

在文件中添加以下HTML行:

  1. <html> 
  2.         <head> 
  3.                 <title>Test Page</title> 
  4.         </head> 
  5.         <body> 
  6.                       <p>Serving this file using Netcat Basic HTTP server!</p> 
  7.         </body> 
  8. </html> 

保存文件中的更改並退出。

使用nc命令創建一個簡單的Web伺服器

然後通過運行以下命令提供服務提供HTTP服務,這將使HTTP伺服器能夠連續運行。

  1. while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done 

使用nc命令提供HTTP服務

然後打開web瀏覽器,可以使用以下地址訪問內容:

  1. http://192.168.1.1:8080 

使用真實的服務地址替換192.168.1.1

注意,您可以通過按[Ctrl+ C]來停止Netcat HTTP伺服器。

7. 解決Linux伺服器連接問題

netcat的另一個實用功能是解決伺服器連接問題。在這裡,您可以使用netcat來驗證伺服器發送什麼數據來響應客戶機發出的命令。

使用下面的命令查看example.com的主頁:

  1. printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80 

上述命令的輸出包括web伺服器發送的頭部,可用於故障排除目的。

8. 查找在埠上運行的服務

您還可以使用netcat獲得埠詳細信息。在這種情況下,它將告訴您在某個埠後運行的是什麼服務。例如,要了解特定伺服器上埠22後面運行的是什麼類型的服務,可以運行以下命令(使用目標伺服器的IP位址替換192.168.56.110)。選項-n意味著禁用DNS解析。

  1. nc -v -n 192.168.56.110 80 

9. 創建一個流套接字

netcat還支持創建unix流套接字。下面的命令將創建並偵聽一個unix流套接字。

  1. nc -lU /var/tmp/mysocket & 

檢查:

  1. ss -lpn | grep "/var/tmp/" 

10. 創建一個後門

你也可以把netcat當成一個後門。然而,這需要更多的工作。如果netcat安裝在目標伺服器上,您可以使用它來創建後門,以獲得遠程命令提示符。

要啟用一個後門,你需要netcat監聽一個選擇的埠(比如:埠3001),然後您可以按照如下方式從您的計算機連接到這個埠。

在遠程伺服器上運行以下命令,其中-d選項禁止從stdin讀取,而-e選項指定要在目標系統上運行的命令。

  1. nc -L -p 3001 -d -e cmd.exe  

本文連結:https://www.linuxrumen.com/cyml/1800.html

【責任編輯:

趙寧寧

TEL:(010)68476606】

點讚 0

相關焦點

  • 使用nc命令檢查Linux系統遠程埠是否打開
    使用nc命令檢查Linux系統遠程埠是否打開 我們可以使用 netstat 或其他幾個 Linux 命令如 NMAP 在本地機器上輕鬆地列出 Linux 中的打開埠。在本指南中,我們將向你展示如何使用簡單的 netcat(簡稱 nc)命令來確定遠程主機上的埠是否可訪問/打開。
  • 使用netcat [nc]命令對Linux和Unix進行埠掃描
    如何使用 nc 命令進行埠掃描來替換 Linux 或類 Unix 中的 nmap 命令? nmap (「Network Mapper」)是一個用於網絡探測和安全審核的開源工具。如果 nmap 沒有安裝或者你不希望使用 nmap,那你可以用 netcat/nc 命令進行埠掃描。它對於查看目標計算機上哪些埠是開放的或者運行著服務是非常有用的。
  • linux - netcat網絡工具-nc
    簡介nc是netcat工具的命令,是一個很好用的網絡工具。比如,可以用來埠掃描,文件傳輸等網絡功能。命令幫助nc -hGNU netcat 0.7.1, a rewrite of the famous networking tool.
  • 25個實用的VMware ESXi命令
    find/cat/grep –在試圖查找指定的文件或者在某個文件中查找字符串時這三個命令非常重要。find命令可以基於文件名或者模式查找指定的文件,cat命令用於顯示文件內容,grep用於在單個或多個文件內查找指定的字符串。find /path/to/vm/folder –i name "*delta*" – 列出虛擬機所有的增量磁碟。
  • file_put_contents+php-fpm如何命令執行
    本文學習file_put_contents + FTP + php-fpm的命令執行。原理參考[2],我們可以得知,PHP-FPM未授權訪問時,可以通過修改變量auto_prepend_file或auto_append_file來執行文件。根據[1]中描述,我們需要讓file_put_contents時,將結果寫到php-fpm,這樣造成命令執行。
  • Linux反彈shell命令解析
    今天在看spark stream的sample樣例的時候看到linux的萬金油命令nc。搜索相關的內容突然發現一個很好玩的用處就是反彈shell.下面我們就來講講反彈shell 1.
  • 17 個 tar 命令實用示例
    換言之,tar 命令也可以用於備份:先是歸檔多個文件和目錄到一個單獨的 tar 文件或歸檔文件,然後在需要之時將 tar 文件中的文件和目錄釋放出來。本文將介紹 tar 的 17 個實用示例。下列命令嘗試查看 anaconda-ks.cfg 文件是否存在於 tar 文件中。
  • Linux 下 cut 命令的 4 個基礎實用的示例
    先前我已經介紹了如何使用 AWK 命令。在本文中,我將解釋 linux 下 cut 命令的 4 個本質且實用的例子,有時這些例子將幫你節省很多時間。Linux 下 cut 命令的 4 個實用示例假如你想,你可以觀看下面的視頻,視頻中解釋了本文中我列舉的 cut 命令的使用例子。
  • 6個你可能不熟悉的Linux實用命令
    6個你可能不熟悉的Linux實用命令 Linux是一個強大的作業系統,這篇文章收集了6個你可能沒有用過的Linux命令,但卻相當的有用,供大家參考。
  • 實用的6個網絡命令,網絡故障不求人
    一、ping命令(網際網路包探索器)ping是個使用頻率極高的實用程序,主要用於確定網絡的連通性。這對確定網絡是否正確連接,以及網絡連接的狀況十分有用。windows 7系統下ping 百度網址案例註:後面的 時間=25ms 是響應時間,這個時間越小,說明你連接這個地址速度越快。
  • 運維職業生涯中重要的 150 個命令! 超好用+實用!
    命令功能說明線上查詢及幫助命令 (2 個)man查看命令幫助,命令的詞典,更複雜的還有 info,但不常用。help查看 Linux 內置命令的幫助,比如 cd 命令。搜索文件命令(4 個)which查找二進位命令,按環境變量 PATH 路徑查找。find從磁碟遍歷查找文件或目錄。whereis查找二進位命令,按環境變量 PATH 路徑查找。
  • 20分鐘吃掉Linux常用命令40式
    #切換到上級目錄, linux中一個點表示當前路徑,二個點表示當前路徑上級路徑例2:cd ~ #切換到主目錄例3:cd /User/liangyun03/ # 切換到某個絕對路徑,linux中以/開頭的路徑表示絕對路徑例4:cd
  • 8年資深設計師推薦的實用定製家居案例!
    實用定製家居案例二開放式廚房好好布置讓你的烹飪時光不再無聊使用須知:控制油煙、常清潔、減少重口味食物推薦理由:實用定製家居案例三實用組合電視櫃定製打造快樂親子互動空間設計亮點:強收納、充當背景牆、情感交流推薦理由:
  • HP Compaq nc6400強勢登陸中國市場
    2006年5月,HP推出了一款全新的高端商務筆記本電腦——HP Compaq nc6400受到業界的廣泛關注。作為HP移動商務旗艦機型nc6230產品的升級產品,nc6400以更為出色的性能、增強的安全性和更可靠連接延續了之前HP在高端商用筆記本市場的出色表現。
  • 【Linux命令】 grep命令基本用法
    grep命令可以說是Linux下面最常用的文本處理工具了,那麼究竟我們可以用grep命令做什麼了?Linux下基本上每個命令都有很多參數,grep也不例外,不要求每個參數都了如指掌,我們只需掌握幾個常見的參數就足夠應付日常工作所需了,現在一起來看看grep究竟有哪些參數以及這些參數的用途。
  • TheFuck—Python寫的超實用命令糾正工具
    (main)zsh: command not found: puthon➜ fuckpython [enter/↑/↓/ctrl+c]Python 3.4.2 (default, Oct 8 ,則創建一個命令給用戶選擇或直接運行。
  • Linux命令之Cat,顯示文件內容的,8個你想不到的實用操作
    如果您是一個普通的Linux命令行用戶,我相信您一定已經使用了cat命令。該工具主要用於顯示文件的內容,不過,它還提供了許多其他小而有用的功能。下面,我們詳細討論cat命令。本文所有的命令都在Ubuntu 16.04 LTS 中測試通過。
  • 9 個非常實用的網絡調試命令,你會用幾個呢?
    ping 是個使用頻率極高的實用程序,主要用於確定網絡的連通性。這對確定網絡是否正確連接,以及網絡連接的狀況十分有用。
  • 我的世界:命令方塊指令大全 實用命令方塊教程分享
    ,能幫助我們完成許多事情,還能提升遊戲的樂趣,這位玩家就分享了我的世界命令方塊指令大全,教給大家實用命令方塊教程,還不會使用命令方塊的朋友千萬不要錯過,絕對讓你的遊戲樂趣更上一層樓。讓你學會如何用命令方塊指令代替紅石 1.8以上獲得命令方塊指令:/give @p command_block1.7以下獲得命令方塊指令:/give @p 1371.8的指令1.7同樣好使
  • HP Compaq nc7400筆記本電腦配置簡介
    HP Compaq nc7400筆記本電腦HP Compaq nc7400筆記本電腦配置簡介HP Compaq nc7400英特爾® 酷睿TM雙核1處理器T2600(2.16GHz,667MHz前端總線,2MB二級高速緩存)英特爾® 酷睿TM雙核1處理器T2500