【问题标题】:Traffic monitoring and shaping (C\C++)流量监控和整形 (C\C++)
【发布时间】:2011-01-06 11:20:46
【问题描述】:

我想编写一个库 (C\C++),它能够监控网络流量(TCP 和 UDP)以及限制特定网络区域的带宽(对不同的网络区域应用不同的流量整形规则)。这个库应该可以在 Windows 7(64 位)上运行。如果这种库可以完全编写为用户模式,我会很高兴。现在我正在学习 Windows 过滤平台。这似乎是我需要的,但是网上缺少示例,而且我以前从未编写过驱动程序。如果有人能将我推向正确的方向或概述如何实现此类库,我将不胜感激。

【问题讨论】:

    标签: c++ monitor traffic trafficshaping


    【解决方案1】:

    您看过winpcap 库吗?它本质上是在 Unix 世界中广泛使用的 libpcap 库的 Windows 版本。相同的来源是available 这里。这将帮助您入门。

    不过,我不确定您所说的将带宽限制到特定网络区域是什么意思。

    【讨论】:

    • 快速查看 WinPcap 文档,它允许您实现过滤。您应该能够在超出带宽限制后将特定协议的数据包放入队列中,并在带宽可用时将它们推送到以太网接口。
    • 非常感谢!我将尝试 WinPcap。 “不过,我不确定您将带宽限制到特定网络区域是什么意思”,换句话说:将不同的流量整形规则应用于不同的网络区域。
    • 原来 WinPcap 非常适合网络监控,但它不能进行流量整形:“WinPcap 独立于主机协议(如 TCP-IP)接收和发送数据包。这意味着它不是能够阻止、过滤或操纵同一台机器上其他程序生成的流量:它只是“嗅探”在网络上传输的数据包。因此,它不为流量整形器、QoS 调度器和个人等应用程序提供适当的支持防火墙。”
    • 是的,这就是我的想法。我不太清楚是否有适用于 Windows 的开源防火墙,否则对于您的流量整形需求来说,这将是一个不错的选择。
    【解决方案2】:

    此外,结合使用 WinPCap 库,您可以查看 PeerGuardian,其中包含用于过滤对等 IP 地址的驱动程序。

    希望这会有所帮助, 最好的祝福, 汤姆。

    【讨论】:

      猜你喜欢
      • 2011-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-29
      • 1970-01-01
      相关资源
      最近更新 更多