zjt_dut
驱动牛犊
驱动牛犊
  • 注册日期2002-11-26
  • 最后登录2003-05-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:5674回复:38

Ndis Hook能否实现Nat,VPN

楼主#
更多 发布于:2003-01-12 11:18
    傻傻地问:Ndis Hook能否实现Nat,VPN
  
   难度如何?

最新喜欢:

jzyhummeljzyhum...
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-12 11:37
可以实现,难度要看你对ndis和网络方面的东西的了解了
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
guitar_string
驱动牛犊
驱动牛犊
  • 注册日期2003-06-04
  • 最后登录2004-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-25 15:14
Ndis Hook不能实现NAT吧!?
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-25 15:21
Ndis Hook不能实现NAT吧!?


为什么不行呢?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
peakame
驱动牛犊
驱动牛犊
  • 注册日期2002-06-28
  • 最后登录2013-08-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-25 16:17
从一点点经验来讲,个人认为Hook能实现NAT和VPN,实现VPN可能稍为容易些,至于具体如何可以去问本版的胡大侠,NAT也应该可以实现,只不过里面要维护的映射信息要多很多。
zgm78
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望31点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-04 20:01
为什么要用HOOK实现NAT呢?
要实现只要能抓包及发包就可以,并不需要对所有包进行处理,所以不需要HOOK,在www.vckbase.COM上有一个使用WINCAP实现的nat,或许对你有帮助!
另外我想问,如果要做一个NAT,并且内部机子通过一个地址出,而且主机也要使用TCP等上网,那么我要为内部机子连接请求分配一个主机的端口,又如何向我主机的TCP协议层申请一个端口?
也就是说我怎么知道主机的协议层某一个端口未用,我使用了以后又如何告诉协议层该端口已经使用,又如何向协议层报告释放该端口?
zhao_sunny
驱动牛犊
驱动牛犊
  • 注册日期2003-04-16
  • 最后登录2004-08-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-10-05 12:43
我觉得用HOOK不能实现NAT,HOOK只是将经过的包copy到一个新的内存区,再对它进行分析,不能对package内容进行修改!
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
7楼#
发布于:2003-10-06 10:42
我觉得用HOOK不能实现NAT,HOOK只是将经过的包copy到一个新的内存区,再对它进行分析,不能对package内容进行修改!
给个理由先?
我倒是很奇怪,用Wincap如何实现NAT。Wincap是用的协议驱动吧?
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-10-10 15:05
不用考虑了,想做vpn或者nat就用IM吧。微软的东西很好,我现在需要有在vpn方面高手的帮助。希望各位多多关照。
我是来学习的。不打扫卫生
zgm78
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望31点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-10-10 16:15
我再说一次!
在www.vckbase.COM上有一个使用WINCAP实现的nat,或许对你有帮助!
因此不要怀疑WICAP不可以拿来作NAT!


[编辑 -  10/10/03 by  zgm78]
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-10-10 18:57
我再说一次!
在www.vckbase.COM上有一个使用WINCAP实现的nat,或许对你有帮助!
因此不要怀疑WICAP不可以拿来作NAT!


[编辑 -  10/10/03 by  zgm78]


我也不搞不懂,协议驱动能做NAT????
放弃瘟草,现吃李草
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-10-10 19:40
就实现VPN来说,驱动上需要下的工夫还是比较少的,仅仅是提供一个工具而已。那个什么WinCAP我没有用过,也不知道是怎么做的,但是协议驱动无法完成NAT应该是个共识了,那是根本就不可能成功的东西。就现在的VPN而言,标准化和优秀的策略系统才是真正需要耗费时间的,其中以优秀的策略系统最难实现,策略系统本身的安全性、策略略分发等等许多问题需要耗费大量时间,同时IPSec策略系统的一些新的标准和草案已经出台,兼顾兼容性和标准化使得原本复杂策略系统又增添不少的麻烦。要设计一个优秀的VPN确实很难啊!策略系统在国内好象没有象模象样的产品,国外的产品就没有了解了。一个好的策略系统确实很受用,但是它所带来的问题确实异常的复杂!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-10-10 19:46
NDIS HOOK是可以做NAT的,这个好象有回到“捕获”与“截获”的概念区分上。只要是截获就一定可以实现所有需要更改网络数据包的应用,而捕获只能实现网络数据包的查看,不能去更改!

呵呵,说了一堆费话。请各位大侠指正!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-10-11 20:07
hook
能用来做vpn么?
比如修改包头,和提供修改包头信息的接口
我是来学习的。不打扫卫生
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-10-13 10:05
我再说一次!
在www.vckbase.COM上有一个使用WINCAP实现的nat,或许对你有帮助!
因此不要怀疑WICAP不可以拿来作NAT!


[编辑 -  10/10/03 by  zgm78]


是那个例子?能不能贴出连接??我在网络部分里面没有找到这样的例子。

学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
pkucoffee
驱动牛犊
驱动牛犊
  • 注册日期2003-06-02
  • 最后登录2003-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-10-13 12:02
纠正一个概念, nids hook 都可以做,无论是分析还是修改。
zgm78
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望31点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-10-14 09:25
http://www.vckbase.com/code/downcode.asp?id=1860
IP伪装程序PIPMasq源代码 详细信息 < 局域网 >  

IP伪装程序,可以作为内部局域网上网的网关,
需要WinPCap的支持!


地址转换正常使用就叫NAT,不正常使用呢,就叫地址欺骗了,呵呵!改一下完全可作NAT服务的!

要作VPN的话,还是2003DDK里面的MUX例程比较好,他压根就是给人做VPN的!
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2003-10-14 10:06
ip欺骗和做nat的差别还是很大的:)

如果做nat的话应该把那台机器设为网关,而且winpcap收到包的同时tcpip也会收到包,进行处理,然后winpcap在重新构造一个packet发出去,这样的后果就是局域网内一台机器发送的一个包,最后变成了两个包,这样来做nat对网关机器的来说不是一个好主意。
TCPIP收到一个目的ip是外网,源ip是内网的某个ip的机器,如果没有打开路由功能的话他应该丢弃这个报文,如果打开了路由功能,他应该把这个包发出去,然后winpcap重新构造的包也会发出去,那么在对方服务器上就会收到两个包,这也不是一个好现象吧。
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2003-10-14 10:59
[quote]我觉得用HOOK不能实现NAT,HOOK只是将经过的包copy到一个新的内存区,再对它进行分析,不能对package内容进行修改!
给个理由先?
我倒是很奇怪,用Wincap如何实现NAT。Wincap是用的协议驱动吧? [/quote]

理由在此:
zhao_sunny同学说的HOOK是瘟2000支持的Filter Hook Driver,不是大伙儿说的NdisHook.

zhao_sunny同学,其实你说的也没错,只是大伙儿说的NdisHook是去Hook Ndis.sys的几个函数干活儿,不是去注册PacketFilterExtensionPtr.
写驱动不如买足彩!!
ljjlovernet
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2004-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2003-10-14 16:17
请各位容我继续问。hook是否只是对应用程序或者系统的监视。
hook能提取未发出的ip包或者以太网帧么,然后再返回给系统吗?
我知道im可以做驱动级的vpn了,hook能么?

我说的hook不是sfilter hooks,vc的sdk里已经有的hook类。
我是来学习的。不打扫卫生
上一页
游客

返回顶部