由于软件限制,我们目前在所有机器上运行Windows。

但是,在此方法中,我们需要将进入IP和端口的某些数据包重定向到其他端口(相同的IP)。我们有在“代理端口”上监听的软件。

通过在Linux上使用IPTables,可以通过执行以下操作来实现:

iptables -t nat -I PREROUTING -p udp -d <DSTIP> --dport <DSTPORT> -m u32 --u32 '0>>22&0x3C@8=0xFFFFFFFF && 0>>22&0x3C@12=0x54536F75 && 0>>22&0x3C@16=0x72636520 && 0>>22&0x3C@20=0x456E6769 && 0>>22&0x3C@24=0x6E652051 && 0>>22&0x3C@28=0x75657279' -j REDIRECT --to-port <REDIRECT PORT>


这在Linux上效果很好,并且会将某些数据包重定向到我们的代理软件,但是,是否有可能在Windows上执行某些操作而无需在Windows机器前放置专用机器?

我当时想用pcap.net编写一些东西,但是我猜想这必须直接从NIC而不是Windows读取?

最佳答案

MSDN


Netsh是一个命令行脚本实用程序,它使您可以
在本地或远程,显示或修改网络的配置
当前正在运行的计算机。


您可以使用以下命令将连接到任何端口的连接重定向到另一个本地(或远程)端口:

netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport


另外,如this SO post中所述,netsh是Windows上iptabes的良好替代。

09-06 09:53