首頁/ 汽車/ 正文

Phantun:一款功能強大的輕量級UDP轉TCP混淆工具

Phantun:一款功能強大的輕量級UDP轉TCP混淆工具

關於Phantun

Phantun是一款功能強大的輕量級UDP轉TCP混淆工具,該工具可以將UDP資料包混淆成TCP連線,旨在以最小的處理和封裝開銷實現最大的效能。該工具通常用於UDP被阻止/限制但TCP被允許透過的環境。

Phantun可以將UDP資料包流轉換成經過模糊/混淆處理的TCP資料包流。Phantun使用的TCP堆疊可以透過大多數L3/L4有狀態/無狀態防火牆/NAT裝置,但無法透過L7代理。

Phantun工具採用了純Rust開發,並且經過了大量的版本迭代和功能最佳化,可以在多核系統上進行快速擴充套件,並且消耗資源也非常少。

Phantun:一款功能強大的輕量級UDP轉TCP混淆工具

工具資料流/架構

Phantun:一款功能強大的輕量級UDP轉TCP混淆工具

工具下載

廣大研究人員可以使用下列命令將該專案原始碼克隆至本地:

git clone https://github。com/dndx/phantun。git

工具使用

對於下面的示例,做如下假設:

假設Phantun伺服器在埠4567(伺服器的——local選項)偵聽傳入的Phantun客戶端連線,並在127。0。0。1:1234(伺服器的——remote選項)將UDP資料包轉發到UDP伺服器。

假設Phantun客戶端在127。0。0。1:1234(客戶端的——local選項)監聽傳入的UDP資料包,並在10。0。0。1:4567(客戶端的——remote選項)連線到Phantun伺服器。

Phantun為客戶端和伺服器建立TUN介面。對於客戶端,Phantun預設為自己分配IP地址192。168。200。2;對於伺服器,它預設為自己分配IP地址192。168。201。2。

使用樣例

1、啟用核心IP轉發

編輯“/etc/sysctl。conf”,新增“net。ipv4。ip_forward=1”,然後執行下列命令:

sudo sysctl -p /etc/sysctl。conf

2、新增所需防火牆規則

客戶端

使用nftable:

table inet nat { chain postrouting { type nat hook postrouting priority srcnat; policy accept; iifname tun0 oif eth0 masquerade }}

使用iptable:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

伺服器端

使用nftable:

table ip nat { chain prerouting { type nat hook prerouting priority dstnat; policy accept; iif eth0 tcp dport 4567 dnat to 192。168。201。2 }}

使用pitable:

iptables -t nat -A PREROUTING -p tcp -i eth0 ——dport 4567 -j DNAT ——to-destination 192。168。201。2

3、執行Phantun程式碼(非root許可權,可選)

以root使用者身份執行面向網路的應用程式是不明智的,因此Phantun 支援以非root使用者許可權執行,並帶有cap_net_admin功能:

sudo setcap cap_net_admin=+pe phantun_serversudo setcap cap_net_admin=+pe phantun_client

4、開啟Phantun守護程序

提示:使用-h引數執行Phantun後可以檢視該工具支援的所有引數選項。

伺服器端

注意:4567是Phantun監聽的TCP埠,然後對應之前指定的DNAT規則。127。0。0。1:1234則是要連線的UDP伺服器:

RUST_LOG=info /usr/local/bin/phantun_server ——local 4567 ——remote 127。0。0。1:1234

或者,使用——remote指定主機名稱:

RUST_LOG=info /usr/local/bin/phantun_server ——local 4567 ——remote example。com:1234

客戶端

注意:127。0。0。1:1234是Phantun需要監聽的UDP地址和埠。10。0。0。1:4567則是要連線的Phantun伺服器 :

RUST_LOG=info /usr/local/bin/phantun_client ——local 127。0。0。1:1234 ——remote 10。0。0。1:4567

或者,使用——remote指定主機名稱:

RUST_LOG=info /usr/local/bin/phantun_client ——local 127。0。0。1:1234 ——remote example。com:4567

許可證協議

本專案的開發與釋出遵循

Apache2。0

開源許可證協議。

最新發布版本

Phantun v0.3.2:https://github.com/dndx/phantun/releases/tag/v0.3.2

專案地址

Phantun:https://github.com/dndx/phantun

相關文章

頂部