代码之家  ›  专栏  ›  技术社区  ›  Wolf5

通过在.Net(C#)中编码来阻止计算机上的任何IP

  •  2
  • Wolf5  · 技术社区  · 16 年前

    我正在玩一个方法踢作弊者在现代战争2(当你是主人)。我已经能够使用winpcap嗅探包,以确定球员的名字和他们的IP。

    我需要一种方法来阻止所有流量(或只是目标IPs UDP流量到我的机器)。因此,播放器将超时/退出。

    有谁知道一个可用的图书馆,让我很容易做到这一点。我可以在硬的方式下做这件事,安装Windows DDK和在C++中乱七八糟地创建一个低级别的NDIS驱动程序,但是C++上的BRY生锈和编译模板代码时出现的所有典型编译问题,我更喜欢一些准备好的编码库。

    解决方案:使用Windows防火墙。轻松的API创建和删除规则的飞行。 Any way to turn the "internet off" in windows using c#?

    一个测试程序现在可以运行了。我把两个人踢出了比赛。

    2 回复  |  直到 9 年前
        1
  •  1
  •   Roger Lipscombe    16 年前

    "Windows Firewall with Advanced Security" API 可能在很多电脑上都有。

        2
  •  0
  •   Scott Whitlock    16 年前

    您应该能够将该IP的无效条目放入Windows主机文件中。这里有一些 C#

    This place 讨论使用IPSec筛选IP地址的方法。不过这是很手工的。过程如下:

    在本地安全设置/IP安全策略下

    1. 创建新的IP筛选器列表
    2. 源IP是我的IP地址
    3. 协议是任意的
    4. 创建新的IP安全策略(使用Kerberos 5身份验证)
    5. 添加IP安全规则(此规则不是隧道)(所有网络连接)
    6. 添加刚创建的新IP筛选器列表((需要安全)
    7. 分配新策略

    如果你能想出如何在C#中做到这一点,你就是赢家。