gpt4 book ai didi

c# - 与使用 winPcap 代替套接字相关的风险

转载 作者:行者123 更新时间:2023-11-28 08:28:14 26 4
gpt4 key购买 nike

据我所知,winPcap 允许您绕过操作系统并绕过 TCP 的应用程序和传输层处理,并提供对链路层的直接访问。

我打算使用 winpcap 来做一些用户应用程序的事情,而不仅仅是嗅探。我将使用 pcap 接收和发送关键信息,我目前正在通过套接字进行这些操作。

绕过操作系统,根据我对应用程序和传输层的理解,是否存在任何风险?

作为附带问题,到目前为止我发现的 winpcap 文档讨论了如何以编程方式实现它,但没有详细说明它绕过了什么以及它是如何做到的。任何指向该链接的链接都会有所帮助。

此外,我想知道是否有人将 winpcap 用于除出于监控原因和 msn 的网络嗅探之外的任何目的。

最佳答案

当然,有很多风险:

  • 操作系统不会知道您私有(private)管理的 TCP 连接,因此它不会知道您选择的端口正在使用中。这意味着它可能会尝试将同一端口用于另一个应用程序的连接,从而导致困惑。
  • 操作系统不会知道您私有(private)管理的 TCP 连接,因此除非您阻止它看到这些数据包,否则它会发送 RST 数据包以重置明显的虚假连接。
  • 您的应用程序不会自动收到有关操作系统管理的相关数据、配置的 IP 地址和路由表的更改通知。您可能需要轮询更新。
  • 正确实现 TCP 协议(protocol)并非易事。大多数实现,即使是非常常用的实现,都有 都没有发现的休眠错误。并非所有必要的信息都在 RFC 中;在某些地方,既定做法与记录在案的行为不同,通常是有充分理由的。现代 TCP 堆栈中还有大量代码专门用于处理其他堆栈中的历史错误行为,复制所有这些工作并不简单。
  • 存在与安装在主机上的第三方网络安全软件发生不良交互的重大风险,这些软件需要通过操作系统建立所有 TCP 连接。

这对我来说就像一场支持噩梦。

关于c# - 与使用 winPcap 代替套接字相关的风险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3197634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com