其实我试图建立的就像一种防火墙。它应该能够了解从我的机器发出的所有请求。它应该能够阻止选定的。我不知道如何开始这件事。我有VS 2008/2005与框架2.0。请让我知道是否有任何特定的课程可以开始,并且是否有我可以获得的任何样本。如何构建一种防火墙
回答
防火墙确实应该在网络堆栈中实现得相当低;我强烈建议NDIS。 This article可能会感兴趣。
像这样的东西可以帮助你开始:http://www.mentalis.org/soft/projects/pmon/
这个C#项目允许Windows NT管理员拦截通过计算机上的网络接口之一发送IP数据包。这可以非常方便地调试网络软件或监控不可信应用程序的网络活动。
正如马特所说,它确实必须是NDIS。
一定要分配大量的时间来开发驱动程序,我建议6-12个月才能进入alpha版本阶段。在处理了NDIS之后,我可以向你保证这是一种非常痛苦的事情。
如果您计划将产品发布给公众,您需要咳嗽几个宏到微软以获得驱动程序批准(WHQL),否则您的用户将在安装时遇到多个令人讨厌的对话框(“这个软件是严重不安全的“品种)。审批过程缓慢,不再适用于Windows 2000,可能很快就会用于XP。 64位批准是一个单独的支付。
您被锁定为使用C,但任何微小的错误都会放大为蓝屏的形式(例如空引用或轻微的缓冲区溢出)。您无法创建线程,您的API与普通的用户模式API完全不同,实际上尝试与用户模式进行通信意味着处理棘手的IRP系统。
NDIS本身是过度工程化的一种糟糕的MFC风格的方式。你被限制在内核API的一个子集(这使得一些事情非常困难,比如注册表访问)。如果不这样做会导致即时的WHQL取消资格(不会让您退钱!)。
需要全面检查每行代码,以确保它正在运行的IRQL级别正常工作(它基本上决定了您的代码是否可以被其他进程中断)。调用错误级别的API函数会导致蓝屏。另外,在堆栈上创建超过500 - 1000字节的结构会导致堆栈溢出(当然,蓝屏)。当你有一个深度为15行的调用堆栈并且每个函数中有少量分配时,单独可以产生一些有趣的调试会话。
尽管如此,尽管NDIS已经经历了6次修订,但如果您想要挑战,这的确值得一试。奖励是一种软件产品,它会很好地销售,因为没有很多人敢与这种事情纠缠在一起。一个重要的要求是汇编语言的知识(用于调试)。阅读关于Windows内核的工作方式也非常有帮助(不仅仅是NDIS)。
几年前,我需要了解Windows系统上所有应用程序使用的网络带宽。
对于我正在进行的任务的重要性没有丝毫的线索,我开始学习如何编写TDI过滤器驱动程序。
花了大约两年时间。两年全职,因为我靠的是一些股票期权。不过,NDIS比TDI更容易。正如男人所说的那样,一年全职。
你可以在TDI级别做防火墙的东西,它很好用,因为你可以将套接字与应用程序关联起来(在NDIS中你不能这样做)。您还可以阻止和/或带宽形状发送。您可以阻止接收,但您无法真正在TDI上调整接收,因为您不允许暂停(接收代码路径在DISPATCH_LEVEL中执行)。我想出了一个解决办法,并取得了专利,但我不会从技术POV推荐它。
OTOH一个真正的黑客将简单地绕过TDI并直接与NDIS驱动程序交谈;一个TDI防火墙是可以绕过的。
- 1. 建议通过防火墙
- 2. HttpWebRequest.Create和防火墙
- 3. 防火墙fms rtmpt
- 4. TcpListener.AcceptTcpClient和防火墙
- 5. 防火墙安全
- 6. postgresql和防火墙
- 7. Symfony2防火墙security.yml
- 8. WCF和防火墙
- 9. MSDTC和防火墙
- 10. 并发防火墙
- 11. 使用iptables创建防火墙
- 12. 如何在ActiveMQ中使用防火墙?
- 13. android.net.sip如何绕过防火墙?
- 14. 如何让詹金斯从防火墙后将构建状态推送到Github
- 15. 如何在构建聊天应用时处理防火墙限制?
- 16. 套接字一端连接,防火墙?
- 17. CORS防火墙问题
- 18. Symfony的防火墙模式
- 19. Windows防火墙编程
- 20. TCP连接和防火墙
- 21. 自动化Windows防火墙
- 22. 禁用使用防火墙
- 23. 为Windows编程防火墙
- 24. Symfony2 - 嵌套防火墙
- 25. Azure函数防火墙
- 26. Reg。在Linux的防火墙
- 27. 占位符在防火墙
- 28. DTC防火墙要求?
- 29. C2DM的防火墙设置
- 30. Linux iptabxes防火墙规则
我不会删除它们,因为我不知道它们为什么在那里...但标签(asp.net,proxy,proxy-classes和ajax)有什么问题。他们与防火墙有什么关系? – 2009-01-27 02:26:43