我正在尝试创建一个工具,该工具会在将特定数据包发送到特定网站之前对其进行附加/编辑。现在,我正在使用Wpe Pro来应用此过滤器。C#中是否有类似的东西可以创建此工具? 最佳答案 确实没有通用的方法来执行此操作。您必须考虑多种可能性,看看它们是否适合您的情况。例如,您可以使用Pcap.NET(如注释中所述)轻松编辑使用HTTP发送的数据包。网络上有许多示例,这些示例将指导您使用Pcap修改数据包,例如,官方Pcap.NET论坛上的this discussion。但是,如果数据包使用的是HTTPS(SSL / TLS),则将对要发送的实际数据进行有效负载加密,并且可以绕过该负载;如果一个/多个precondition(s) of SSL are broken或使用sslstrip (python)之类的工具。请注意,即使请求了HTTPS,sslstrip也会尝试强制通过HTTP发送套接字,但不能保证此工作正常。我个人将始终尝试避免碰插座,即使与网络相关的任何事物也是如此。尤其是当涉及HTTPS时,因为您可能已经了解了,所以很难绕开它。我不知道您要尝试破坏哪个程序,但是我觉得它将对这个答案有所帮助。对于HTTP,可以轻松创建一个hooks Windows Socket API的简单程序。您应该查看send函数,甚至可能要查看recv(接收)函数。您可以根据需要修改有效负载,或者根据需要甚至将其替换为另一个有效负载。请注意,通过winsock.send函数发送的数据已被加密(如果正在使用SSL / TLS),因为应用程序将处理第7层(应用程序层),6层(表示层)和5层(会话层),这是 d)。 where SSL gets applie在第5层和第4层之间。对于HTTPS,您仍然可以使用挂钩,但是您必须在应用程序中用于处理连接的部分挂钩,并确保在初始化连接/设置有效负载之前应用(已修改的)有效负载。如果您愿意学习并有一些时间,这听起来可能很难做到,实际上实际上很容易做到。关于c# - 在C#中捕获和编辑TCP/UDP数据包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38565963/