StreamDivert功能介绍 将所有到特定端口的传入连接中继到另一个目标; 将从特定源IP到端口的传入连接中继到另一个目标; 将传入连接中继到SOCKS(4/5)服务器; 将所有到特定端口的传出连接中继到另一个目标; 将传出连接中继到特定IP和端口的另一个目标上; 通过IPv4和IPv6处理TCP、UDP和ICMP流量; 强制通过特定网络接口重定向数据包;
工具下载&安装 广大研究人员可以访问该项目的【Releases页面】下载并获取StreamDivert的最新版本预编译源码。 或者,也可以使用下列命令将该项目源码克隆至本地: git clone https://github.com/jellever/StreamDivert.git
工具使用 我们可以直接以管理员权限并运行下列命令来执行StreamDivert:
streamdivert.exe config_file [-f] [-v] StreamDivert所提供的配置文件中包含了我们需要处理和分流的条目信息,下面给出的是config配置文件的参考样例: //Divert all inbound TCP connections to port 445 (SMB) coming from 10.0.1.50 to 10.0.1.49 port 445 tcp < 445 10.0.1.50 -> 10.0.1.49 445 //Divert all inbound TCP connections to port 445 (SMB) coming from 10.0.1.51 to a local SOCKS server tcp < 445 10.0.1.51 -> socks //Divert all inbound TCP connections to port 445 (SMB) coming from fe80::f477:846a:775d:d37 to fe80::20c:29ff:fe6f:88ff port 445
tcp < 445 fe80::f477:846a:775d:d37 -> fe80::20c:29ff:fe6f:88ff 445 //Divert all inbound TCP connections to port 445 (SMB) to 10.0.1.48 port 445 tcp < 445 0.0.0.0 -> 10.0.1.48 445 //Divert all inbound UDP connections to to port 53 (DNS) to 10.0.1.49 port 53 udp < 53 0.0.0.0 -> 10.0.1.49 53 //Divert all inbound ICMP packets coming from 10.0.1.50 to 10.0.1.49 icmp < 10.0.1.50 -> 10.0.1.49 //Divert all outbound TCP connections to 10.0.1.50, port 80 to 10.0.1.49 port 8080 tcp > 10.0.1.50 80 -> 10.0.1.49 8080 //Send all packets going to 10.0.1.50 port 80 and prefer interface 9 to send them. If the interface does not exist or is not up, the packets are send from the default interface. tcp > 10.0.1.50 80 -> 10.0.1.50 80 interface 9
//Force all packets going to 10.0.1.50 port 80 over interface 9, or drop the packets if the interface does not exist or is not up. tcp > 10.0.1.50 80 -> 10.0.1.50 80 force interface 9
项目地址 StreamDivert:https://github.com/jellever/StreamDivert