1

我正在尝试创建一个工具,该工具会在特定数据包中附加/编辑某些内容,然后再将它们发送到特定网站。

现在我使用 Wpe Pro 来应用这个过滤器。

C# 中是否有类似的东西来创建这个工具?

4

1 回答 1

3

没有真正的通用方法可以做到这一点。您必须考虑多种可能性,看看它们是否适合您的情况。例如,您可以使用Pcap.NET(如评论中所述)轻松编辑使用 HTTP 发送的数据包。网上有很多例子可以指导你使用 Pcap 修改数据包,例如 官方 Pcap.NET 论坛上的这个讨论。

但是,如果数据包使用 HTTPS (SSL/TLS),那么作为正在发送的实际数据的有效负载将被加密并且可以绕过;如果 SSL 的一个/多个前提条件被破坏或使用类似sslstrip (python)的工具。请注意,即使请求了 HTTPS,sslstrip 也会尝试强制通过 HTTP 发送套接字,并且这不能保证有效。

就个人而言,我将始终尽量避免接触套接字,即使是任何与网络相关的东西。尤其是当它涉及 HTTPS 时,因为正如您现在可能理解的那样,这很难绕过。我不知道你试图破坏什么程序,但我觉得这对这个答案有好处。

对于 HTTP,可以很容易地创建一个简单的程序来挂钩Windows Socket API。您应该研究send函数,甚至可能是recv(receive)函数。您可以根据需要修改有效负载,如果需要,甚至可以将其替换为另一个有效负载。请注意,通过 winsock.send 函数发送的数据已经加密(如果正在使用 SSL/TLS),因为应用程序将处理第 7 层(应用层)、第 6 层(表示层)和第 5 层(会话层,这就是SSL 得到应用 d) OSI 模型。Winsock 是第 5 层和第 4 层之间的桥梁。

对于 HTTPS,您仍然可以使用挂钩,但您必须挂钩处理连接的应用程序部分,并确保在初始化连接/设置有效负载之前应用您的(修改后的)有效负载。这听起来很难做到,实际上很容易做到,如果你愿意学习并有时间的话。

于 2016-07-27T14:17:35.700 回答