我需要能够阻止任何和所有连接到我的电脑从一个特定的IP地址,我知道这是可能的防火墙,但我需要在c#中做到这一点。任何想法如何(需要代码)。阻止连接通过IP
更新: 它是一种通用的C#应用程序不asp.net,目标平台是WinXp下,直到Win7的
我需要能够阻止任何和所有连接到我的电脑从一个特定的IP地址,我知道这是可能的防火墙,但我需要在c#中做到这一点。任何想法如何(需要代码)。阻止连接通过IP
更新: 它是一种通用的C#应用程序不asp.net,目标平台是WinXp下,直到Win7的
需要了解更多信息......如果你说的socket通信,你可以简单地关闭与客户端的连接如果IP地址被阻止,则一旦它连接,或处理连接请求并在那里评估。
编辑:最简单的方法可以让你很可能只是Windows防火墙的API互动......这里是如何:
这听起来不错,如果不完全是我需要的,只是不知道如何去做,文章/代码将有所帮助 – RC1140 2009-08-18 15:06:05
你的问题还不清楚,但我会尽量回答最好我可以,在我的理解。
要了解如何控制防火墙,这里有一个链接:
http://www.shafqatahmed.com/2008/01/controlling-win.html
更多的谷歌。
两个警告这种方法:
它不会从DoS攻击拯救你。 您将需要小心,如果你需要IPv6的支持(你不能只检查在这种情况下,IPV4地址)
HTH
我不介意进入unmanged代码,只是更喜欢使用托管代码 – RC1140 2009-08-19 06:41:17
“防火墙”在C#中?
首先你必须访问一个低层的网络接口,例如:http://msdn.microsoft.com/en-us/library/ms817945.aspx
然后,你必须分析所有传入数据包,也许丢弃。
这不是一件容易的事情,我不建议您在C#中编写驱动程序和防火墙,因为每次启动计算机时都会加载.NET Framework。 此外,流量解析可能会非常棘手......前段时间,我在C#中实现了一个路由器/流量分析器,并花了我大约一年的时间来获得网络编程的经验,以获取相关知识。
您是否问如何在C#中编写通用防火墙应用程序?或者你是否在IIS下运行ASP.Net应用程序的情况下提出这个问题?或者是什么? – jsight 2009-08-18 15:00:07
您是否想要从代码更新防火墙,或只是忽略来自特定IP地址的代码请求?如果是后者,那么它不是一个很好的做事方式,你的系统将主动接收来自IP的数据并忽略它,而不是让防火墙在第一时间阻止它。另外,目标平台是什么?最后,你有没有提供你想要的任何代码?如果是这样,那么请张贴它并告诉我们它是如何工作的。 – Lazarus 2009-08-18 15:01:24