【问题标题】:Block any IP on a computer by coding in .Net (C#)通过在 .Net (C#) 中编码来阻止计算机上的任何 IP
【发布时间】:2011-01-19 14:02:19
【问题描述】:

我正在玩弄一种在《现代战争 2》中踢骗子的方法(当您是主持人时)。我已经能够使用 winpcap 嗅探软件包以识别玩家名称和他们的 IP。

我需要一种方法来阻止所有流量(或者只是目标 IP UDP 流量到我的机器)。因此玩家将超时/延迟。

有没有人知道可以让我轻松做到这一点的可用库。我可以用艰难的方式来做这件事,安装 Windows DDK 并在 C++ 中乱七八糟地创建一个低级 NDIS 驱动程序,但是对 C++ 以及为此编译模板代码时出现的所有典型编译问题非常生疏,我更喜欢一些为此准备好编码库。

或者也许有人有更好的想法可行?

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

现在有一个可以执行此操作的测试程序。我把两个人踢出了游戏。

【问题讨论】:

  • 如果播放器位于 Internet 代理后面,那么您将阻止来自同一代理服务器上任何人的所有流量。
  • 是的。但是这里出现问题的可能性很小,因为这个游戏几乎要求每个人都不要在代理(托管)后面。如果发生这种情况,作弊者很可能是在和朋友一起玩。然后他们俩都该走了。哦。如果一个人也可以通过端口阻止,你可以挑出一个普通 IP 后面的人。

标签: .net ip ndis


【解决方案1】:

您是否正在运行防火墙?也许您可以使用防火墙的 API 拒绝来自违规主机的连接请求。例如,"Windows Firewall with Advanced Security" API 可能在很多 PC 上都可用。

【讨论】:

  • 我在考虑也许在朋友之间分发这个,所以我主要想要一些我可以分发的东西(或者如果我重新安装我的操作系统很容易重新安装)。如果我不能让其他任何工作,你所说的可能是一种方法。但是哪些防火墙带有即用型 API?
【解决方案2】:

您应该能够将该 IP 的无效条目放入 Windows 主机文件。这里有一些C# 代码可能对你有用。

This place 讨论了一种使用 IPSec 过滤 IP 地址的方法。虽然它非常手动。流程如下:

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

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

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

【讨论】:

  • OP 想要阻止传入的请求。编辑主机文件会这样做吗?我认为它只会影响传出流量。
  • @ChrisF:这有关系吗?如果您的计算机无法发回任何信息,则它们的连接将断开。他们的计算机将无法从游戏中获取任何位置或状态信息,因此他们无法继续作弊。
  • @Scott - 这是真的,但您可能仍然不希望传入请求的开销。顺便说一句,我没有投反对票,我只是想了解您的建议来自哪里。
  • 虽然不是一个坏主意。 Windows 7 是否还有“主机”文件?如何添加“无效条目”?我虽然主机文件只是从名称到 IP 的自定义“DNS”映射器。我需要阻止IP。
  • @Wolf5:我在想……很多广告拦截软件就是这样工作的,但我猜他们正在做的是将域名映射到黑洞 IP 或类似于 127.0.0.1 或 0.0.0.0。那是行不通的,但显然有一种方法可以使用 IPSec。我会更新我的答案。
猜你喜欢
  • 2018-08-13
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 2012-03-05
  • 2013-02-05
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多