1. 前言
netcat(簡稱nc)是一個簡單但功能強大的網絡命令行工具,用於執行Linux中與TCP、UDP或Unix套接字相關的任何操作。
netcat可用於埠掃描,埠重定向,啟動埠監聽器;它還可以用來打開遠程連接和許多其他事情。此外,您可以使用它作為後門訪問目標伺服器。
在本文中,我們將通過使用案例解釋netcat使用命令。
2. 如何在Linux中安裝和使用netcat
要在系統上安裝netcat包,請使用Linux發行版的默認包管理器。
基於CentOS或RHEL體系安裝nc命令
基於Fedora 22+ 或 RHEL 8安裝nc命令:
基於Debian或Ubuntu安裝nc命令:
一旦安裝了netcat包,您可以在下面的示例中進一步學習netcat命令的用法。
3. 使用nc命令掃描埠
netcat可用於埠掃描:了解目標伺服器上哪些埠是打開的並正在運行服務。它可以掃描一個或多個或一系列打開的埠。
使用nc命令掃描埠
下面是一個示例,-z選項將nc設置為只掃描偵聽守護進程,而不實際向它們發送任何數據。-v選項啟用詳細模式,而-w指定無法建立連接的超時。
掃描單個埠:
掃描多個埠:
掃描埠範圍:
4. 在Linux伺服器之間傳輸文件
netcat允許您在兩臺Linux伺服器之間傳輸文件,這兩個系統都必須安裝nc。
例如,要將ISO映像文件從一臺計算機複製到另一臺計算機並監視傳輸過程(使用pv實用程序),請在發送者(存在ISO文件的地方)上運行以下命令。
先安裝pv命令,比如在CentOS系統上執行以下命令安裝pv程序:
這將在埠3000上以監聽模式(-l選項)運行nc,在伺服器上運行以下命令:
伺服器的IP位址為192.168.192.134
在接收端/客戶端計算機上,運行以下命令來獲取文件。
5. 創建一個命令行聊天伺服器
您還可以使用netcat立即創建一個簡單的命令行消息傳遞伺服器。與前面的使用示例一樣,必須在聊天室使用的兩個系統上安裝nc。
在一個系統上,運行以下命令創建在埠5000上偵聽的聊天伺服器。
創建一個命令行聊天伺服器
在另一個系統上,運行以下命令,在運行消息傳遞伺服器的機器上啟動聊天會話。
命令行聊天客戶端
6. 創建一個基本的Web伺服器
使用nc命令的-l選項創建基本的、不安全的web伺服器。為了演示這一點,創建如下所示的html文件。
在文件中添加以下HTML行:
保存文件中的更改並退出。
使用nc命令創建一個簡單的Web伺服器
然後通過運行以下命令提供服務提供HTTP服務,這將使HTTP伺服器能夠連續運行。
使用nc命令提供HTTP服務
然後打開web瀏覽器,可以使用以下地址訪問內容:
使用真實的服務地址替換192.168.1.1
注意,您可以通過按[Ctrl+ C]來停止Netcat HTTP伺服器。
7. 解決Linux伺服器連接問題
netcat的另一個實用功能是解決伺服器連接問題。在這裡,您可以使用netcat來驗證伺服器發送什麼數據來響應客戶機發出的命令。
使用下面的命令查看example.com的主頁:
上述命令的輸出包括web伺服器發送的頭部,可用於故障排除目的。
8. 查找在埠上運行的服務
您還可以使用netcat獲得埠詳細信息。在這種情況下,它將告訴您在某個埠後運行的是什麼服務。例如,要了解特定伺服器上埠22後面運行的是什麼類型的服務,可以運行以下命令(使用目標伺服器的IP位址替換192.168.56.110)。選項-n意味著禁用DNS解析。
9. 創建一個流套接字
netcat還支持創建unix流套接字。下面的命令將創建並偵聽一個unix流套接字。
檢查:
10. 創建一個後門
你也可以把netcat當成一個後門。然而,這需要更多的工作。如果netcat安裝在目標伺服器上,您可以使用它來創建後門,以獲得遠程命令提示符。
要啟用一個後門,你需要netcat監聽一個選擇的埠(比如:埠3001),然後您可以按照如下方式從您的計算機連接到這個埠。
在遠程伺服器上運行以下命令,其中-d選項禁止從stdin讀取,而-e選項指定要在目標系統上運行的命令。
本文連結:https://www.linuxrumen.com/cyml/1800.html
【責任編輯:
趙寧寧TEL:(010)68476606】