關於Phantun
Phantun是一款功能強大的輕量級UDP轉TCP混淆工具,該工具可以將UDP數據包混淆成TCP連接,旨在以最小的處理和封裝開銷實現最大的性能。該工具通常用於UDP被阻止/限制但TCP被允許通過的環境。
Phantun可以將UDP數據包流轉換成經過模糊/混淆處理的TCP數據包流。Phantun使用的TCP堆棧可以通過大多數L3/L4有狀態/無狀態防火牆/NAT設備,但無法通過L7代理。
Phantun工具採用了純Rust開發,並且經過了大量的版本迭代和功能優化,可以在多核系統上進行快速擴展,並且消耗資源也非常少。
工具數據流/架構
工具下載
廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
工具使用
對於下面的示例,做如下假設:
假設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」,然後運行下列命令:
2、添加所需防火牆規則
客戶端
使用nftable:
使用iptable:
服務器端
使用nftable:
使用pitable:
3、運行Phantun代碼(非root權限,可選)
以root用戶身份運行面向網絡的應用程序是不明智的,因此Phantun 支持以非root用戶權限運行,並帶有cap_net_admin功能:
4、開啟Phantun守護進程
提示:使用-h參數運行Phantun後可以查看該工具支持的所有參數選項。
服務器端
注意:4567是Phantun監聽的TCP端口,然後對應之前指定的DNAT規則。127.0.0.1:1234則是要連接的UDP服務器:
或者,使用--remote指定主機名稱:
客戶端
注意:127.0.0.1:1234是Phantun需要監聽的UDP地址和端口。10.0.0.1:4567則是要連接的Phantun服務器:
或者,使用--remote指定主機名稱:
許可證協議
本項目的開發與發布遵循Apache2.0開源許可證協議。
最新發布版本
https://github.com/dndx/phantun/releases/tag/v0.3.2
項目地址
https://github.com/dndx/phantun
參考資料
https://docs.rs/fake-tcp
https://github.com/wangyu-/udp2raw-tunnel
https://opensource.org/licenses/MIT

精彩推薦



