【Linux】一步一步学Linux——ncat命令(159)
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項(xiàng)
- 04. 參考示例
- 05. 附錄
01. 命令概述
ncat命令有著網(wǎng)絡(luò)界的瑞士軍刀美譽(yù)。因?yàn)樗绦【贰⒐δ軐?shí)用,被設(shè)計(jì)為一個(gè)簡(jiǎn)單、可靠的網(wǎng)絡(luò)工具
ncat的作用
(1)實(shí)現(xiàn)任意TCP/UDP端口的偵聽(tīng),nc可以作為server以TCP或UDP方式偵聽(tīng)指定端口
(2)端口的掃描,nc可以作為client發(fā)起TCP或UDP連接
(3)機(jī)器之間傳輸文件
(4)機(jī)器之間網(wǎng)絡(luò)測(cè)速
02. 命令格式
格式:ncat [選項(xiàng)] [參數(shù)]03. 常用選項(xiàng)
-g<網(wǎng)關(guān)>:設(shè)置路由器躍程通信網(wǎng)關(guān),最多設(shè)置8個(gè); -G<指向器數(shù)目>:設(shè)置來(lái)源路由指向器,其數(shù)值為4的倍數(shù); -h:在線(xiàn)幫助; -i<延遲秒數(shù)>:設(shè)置時(shí)間間隔,以便傳送信息及掃描通信端口; -l:使用監(jiān)聽(tīng)模式,監(jiān)控傳入的資料; -n:直接使用ip地址,而不通過(guò)域名服務(wù)器; -o<輸出文件>:指定文件名稱(chēng),把往來(lái)傳輸?shù)臄?shù)據(jù)以16進(jìn)制字碼傾倒成該文件保存; -p<通信端口>:設(shè)置本地主機(jī)使用的通信端口; -r:指定源端口和目的端口都進(jìn)行隨機(jī)的選擇; -s<來(lái)源位址>:設(shè)置本地主機(jī)送出數(shù)據(jù)包的IP地址; -u:使用UDP傳輸協(xié)議; -v:顯示指令執(zhí)行過(guò)程; -w<超時(shí)秒數(shù)>:設(shè)置等待連線(xiàn)的時(shí)間; -z:使用0輸入/輸出模式,只在掃描通信端口時(shí)使用。04. 參考示例
4.1 啟動(dòng)TCP服務(wù)端,端口為9999
[root@localhost ~]# ncat -l 9999或者
[deng@localhost ~]$ ncat -v -lp 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9999 Ncat: Listening on 0.0.0.0:99994.2 啟動(dòng)TCP客戶(hù)端連接服務(wù)端
[root@localhost ~]# ncat 172.16.0.51 10086或者
[deng@localhost ~]$ nc -v 172.16.0.76 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9999. hello itcast服務(wù)端 IP:172.16.0.76
端口號(hào):10086
4.3 啟動(dòng)UDP服務(wù)端,端口9999
[deng@localhost ~]$ ncat -lu 99994.4 啟動(dòng)UDP客戶(hù)端連接UDP服務(wù)端
[deng@localhost ~]$ ncat -u 172.16.0.51 10086 hello worldUDP服務(wù)端IP:172.16.0.51
UDP服務(wù)端端口:10086
4.5 作為客戶(hù)端工具進(jìn)行端口探測(cè)
[deng@localhost ~]$ ncat -vzw 2 172.16.0.76 10086 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:10086. Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds. [deng@localhost ~]$或者
[deng@localhost ~]$ ncat -vz -w 2 172.16.0.76 10086 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:10086. Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds. [deng@localhost ~]$-v可視化,-z掃描時(shí)不發(fā)送數(shù)據(jù),-w超時(shí)幾秒,后面跟數(shù)字
4.6 掃描連續(xù)端口
服務(wù)端執(zhí)行
[deng@localhost ~]$ ncat -l 10086 & [1] 77654 [deng@localhost ~]$ ncat -l 10087 & [2] 77659 [deng@localhost ~]$客戶(hù)端執(zhí)行
[deng@localhost ~]$ ncat -vzw 2 172.16.0.76 10086-100874.7 使用ncat傳輸文件
服務(wù)端執(zhí)行
[deng@localhost ~]$ ncat -l 1234 > txt [deng@localhost ~]$客戶(hù)端執(zhí)行
[root@localhost ~]# ncat 172.16.0.76 1234 < /etc/passwd [root@localhost ~]#4.8 設(shè)置本地端口連接服務(wù)端
[root@localhost ~]# ncat -p 1234 -w 5 172.16.0.76 8888 hello world4.9 模擬http協(xié)議首部
[root@localhost ~]# ncat www.baidu.com 804.10 掃描80端口
[root@localhost ~]# ncat -nv 172.16.0.76 80 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connection refused. [root@localhost ~]#4.11 掃描UDP端口
[root@localhost ~]# ncat -u -z -w 2 172.16.0.76 1-1000 [root@localhost ~]#4.12 掃描TCP端口
[root@localhost ~]# ncat -z -w 2 172.16.0.76 1-1000 [root@localhost ~]#4.13 傳輸目錄
服務(wù)端
[root@localhost ~]# ncat -l 1234 | tar -xzvf -客戶(hù)端
[deng@localhost ~]$ tar -czvf - /etc | ncat 172.16.0.76 12344.14 執(zhí)行shell命令
我們可以使用遠(yuǎn)程shell-使用telnet和ssh,但是如果這兩個(gè)命令沒(méi)有安裝并且我們沒(méi)有權(quán)限安裝他們,我們也可以使用netcat創(chuàng)建遠(yuǎn)程shell。
ncat支持 -c -e 參數(shù)
服務(wù)端
[deng@localhost ~]$ ncat -v -c /bin/bash -lp 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9999 Ncat: Listening on 0.0.0.0:9999 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:22730.客戶(hù)端
[deng@localhost ~]$ ncat -v 172.16.0.76 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9999. ls4.15 執(zhí)行shell
如果ncat不支持-c 或者 -e 參數(shù)(openbsd ncat),我們?nèi)匀荒軌騽?chuàng)建遠(yuǎn)程shell
服務(wù)端
[deng@localhost ~]$ mkfifo /tmp/fifo [deng@localhost ~]$ cat /tmp/fifo | /bin/bash -i 2>&1 | nc -v -lp 9999 > /tmp/fifo Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9999 Ncat: Listening on 0.0.0.0:9999 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:22732.這里我們創(chuàng)建了一個(gè)fifo文件,然后使用管道命令把這個(gè)fifo文件內(nèi)容定向到shell 2>&1中。是用來(lái)重定向標(biāo)準(zhǔn)錯(cuò)誤輸出和標(biāo)準(zhǔn)輸出,然后管道到ncat運(yùn)行的端口9999上。至此,我們已經(jīng)把ncat的輸出重定向到fifo文件中。
說(shuō)明:
從網(wǎng)絡(luò)收到的輸入寫(xiě)到fifo文件中
cat 命令讀取fifo文件并且其內(nèi)容發(fā)送給bash命令
bash命令進(jìn)程受到輸入并把它寫(xiě)回到ncat。
ncat通過(guò)網(wǎng)絡(luò)發(fā)送輸出到client
至于為什么會(huì)成功是因?yàn)楣艿朗姑钇叫袌?zhí)行,fifo文件用來(lái)替代正常文件,因?yàn)閒ifo使讀取等待而如果是一個(gè)普通文件,cat命令會(huì)盡快結(jié)束并開(kāi)始讀取空文件。
客戶(hù)端
[deng@localhost ~]$ ncat 172.16.0.76 9999 [deng@localhost ~]$ pwd pwd /home/deng [deng@localhost ~]$4.16 反向shell
反向shell是指在客戶(hù)端打開(kāi)的shell。反向shell這樣命名是因?yàn)椴煌谄渌渲?#xff0c;這里服務(wù)器使用的是由客戶(hù)提供的服務(wù)。
服務(wù)端
[deng@localhost ~]$ ncat -v -lp 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9999 Ncat: Listening on 0.0.0.0:9999 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:22736. pwd /home/deng客戶(hù)端
[deng@localhost ~]$ ncat -v 172.16.0.76 9999 -c /bin/bash Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9999.反向shell經(jīng)常被用來(lái)繞過(guò)防火墻的限制,如阻止入站連接。
4.17 指定源端口
使用-p選項(xiàng)指定源端口。
服務(wù)端
[deng@localhost ~]$ ncat -v -lp 9998 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9998 Ncat: Listening on 0.0.0.0:9998 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:9999.客戶(hù)端
[deng@localhost ~]$ ncat -v 172.16.0.76 9998 -p 9999 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9998.4.18 指定源地址
假設(shè)你的機(jī)器有多個(gè)地址,希望明確指定使用哪個(gè)地址用于外部數(shù)據(jù)通訊。我們可以在ncat中使用-s選項(xiàng)指定ip地址
服務(wù)端
[deng@localhost ~]$ ncat -v -lp 9998 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::9998 Ncat: Listening on 0.0.0.0:9998 Ncat: Connection from 172.16.0.76. Ncat: Connection from 172.16.0.76:15827. hello world客戶(hù)端
[deng@localhost ~]$ ncat -v 172.16.0.76 9998 -s 172.16.0.76 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 172.16.0.76:9998. hello world05. 附錄
參考:【Linux】一步一步學(xué)Linux系列教程匯總
參考:https://www.jianshu.com/p/9c2d8b1f0c5a
總結(jié)
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——ncat命令(159)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Linux】一步一步学Linux——i
- 下一篇: 【Linux】一步一步学Linux——d