阅读:2500回复:14
问:网关防火墙和个人防火墙实现起来有什么区别?
请问一下各位大虾
用Ndis Hook实现网关防火墙行吗?和实现上个人防火墙有什么区别? [编辑 - 2/24/03 by zjt_dut] |
|
沙发#
发布于:2003-02-24 09:44
可以的,作为网关就是过滤整个子网的IP包了一样的
|
|
|
板凳#
发布于:2003-02-24 11:29
可以的,作为网关就是过滤整个子网的IP包了一样的 那怎样知道Hook的是哪块网卡的NdisRegisterProtocol。 |
|
地板#
发布于:2003-02-24 11:41
[quote]可以的,作为网关就是过滤整个子网的IP包了一样的 那怎样知道Hook的是哪块网卡的NdisRegisterProtocol。 [/quote] NdisRegisterProtocol是ndis的,不是网卡的, |
|
|
地下室#
发布于:2003-02-24 13:02
NdisRegisterProtocol是ndis的,不是网卡的, [/quote] mikeluo: 我有费尔的代码(个人防火墙),我要在接入控制器(Win2K系统)---充当网关的作用。实现认证、限制用户访问某些IP、子网端口等。想以费尔为参考,可不知个人防火墙和网关上的区别? |
|
5楼#
发布于:2003-02-24 13:58
费尔的的东西是通过哪种方式hook的?我没有看过他的代码,不知道他用的是那种结构。
|
|
|
6楼#
发布于:2003-02-24 15:33
费尔的的东西是通过哪种方式hook的?我没有看过他的代码,不知道他用的是那种结构。 费尔用的是Ndis Hook。 首先得到Ndis.sys 的基地址,然后Hook NdisSend、NdisRegisterProtocal、NdisOpenAdapter。 |
|
7楼#
发布于:2003-02-24 15:43
发报的时候在ndissend里面处理,收包的时候通过从ndisregisterprotocol那里得到的协议的收包函数里面处理
|
|
|
8楼#
发布于:2003-02-24 18:10
发报的时候在ndissend里面处理,收包的时候通过从ndisregisterprotocol那里得到的协议的收包函数里面处理 那我用在网关上怎么知道协议是和那个网卡绑定的呢? |
|
9楼#
发布于:2003-02-24 18:12
发报的时候在ndissend里面处理,收包的时候通过从ndisregisterprotocol那里得到的协议的收包函数里面处理 那我用在网关上怎么知道协议是和那个网卡绑定的呢? 我应怎样实现我所描述的功能啊? mikeluo,帮帮我。我会感谢你的! |
|
10楼#
发布于:2003-02-24 20:02
你还要处理多少块网卡?都是你自己机器山的???那个会知道的。
|
|
|
11楼#
发布于:2003-02-25 13:15
[quote]发报的时候在ndissend里面处理,收包的时候通过从ndisregisterprotocol那里得到的协议的收包函数里面处理 那我用在网关上怎么知道协议是和那个网卡绑定的呢? 我应怎样实现我所描述的功能啊? mikeluo,帮帮我。我会感谢你的! [/quote] 协议和网卡网卡的绑定是通过ndisopenadapter这个函数来实现的,你可以HOOK这个函数,然后在生成一个指针结构来记录它们的NDIS_HANDLE,ADAPTER_NAME,MAC,IP等等信息,然后接受或发送的时候,可以对这些可以根据这些结构来确定接收,或发送,绑定的是哪块网卡.... :D 嘻嘻....我也有费尔的防火墙的原代码,我正在用它的原代码做NAT...... [编辑 - 2/25/03 by cyf_rich] |
|
12楼#
发布于:2003-02-25 14:49
干脆哪位有源码的哥们斤个连接,让大家都分享一下,买的话好贵呀
|
|
13楼#
发布于:2003-02-25 15:13
协议和网卡网卡的绑定是通过ndisopenadapter这个函数来实现的,你可以HOOK这个函数,然后在生成一个指针结构来记录它们的NDIS_HANDLE,ADAPTER_NAME,MAC,IP等等信息,然后接受或发送的时候,可以对这些可以根据这些结构来确定接收,或发送,绑定的是哪块网卡.... :D
嘻嘻....我也有费尔的防火墙的原代码,我正在用它的原代码做NAT...... 以后要向你多请教请教,我是新手! |
|
14楼#
发布于:2003-02-25 17:20
难道没有看到在passthru中 有个 东西叫做Adapter list吗?
|
|