webqy
驱动牛犊
驱动牛犊
  • 注册日期2009-12-17
  • 最后登录2009-12-26
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望61点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1918回复:6

新手求助。希望大家帮我。NAT 方面

楼主#
更多 发布于:2009-12-22 23:52
我在Passthru代码基础上编写实现NAT一些功能。目前可以实现了基本的转发功能了。

求助问题第一点:

在 NAPT 中,内网像网关发送链接到外网的请求。网关收到请求 原IP 为 192.168.0.2 源端口 为 3000   目标IP 为 121.14.88.14    

当网关像 把这个请求转发给外网后,收到外网回复 网关 需要在转发给 原始请求的 内网。。根据什么条件知道要转发给哪个内网IP呢?按NAPT 的 算法

是在网关像 外网转发时,把原端口 修改为 网关的一个空闲端口。。。  

我现在实现的是,网关像 外网转发时,把原端口 修改为 一个虚拟的端口号 (Port++) 虚拟端口 并不是网关真实开放的端口,只是在驱动中 利用计数器 累加出来的

目前使用这样的虚拟端口,是可以成功转发给外 和 内的。。。但是我不知道这样 有没有什么应用。。希望有经验的帮助解答一下。。

求助问题第二点:

一般网关都是有两块网卡,一个对内,一个对外,但是我安装驱动后,两个网卡都被安装了我的驱动,。

从理论上我理解是这样的,内网卡驱动收到 内网请求,之后内网卡驱动 把这个请求 转发给 外网卡。

外网卡收到数据请求,在转发给内网中//

按上面这样的思路,那么我想问的是,在一个网卡驱动中,如何把这个数据NDISSEND 给其他网卡? 还有如何得到当前驱动网卡的 的信息?

求助问题第三点:我现在在驱动的 两个接收函数中, 接收代码最开始 DBGPRINT 了 一下,为了识别 我的驱动运行了。。

驱动在正常进行 转发工作,过一会 DebugView  中就不在输出任何信息了?通过一些证明,我的驱动好像 不在运行了,但是 也没任何提示 。。。郁闷。。。。
webqy
驱动牛犊
驱动牛犊
  • 注册日期2009-12-17
  • 最后登录2009-12-26
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望61点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-12-23 09:58
我现在在驱动的 两个接收函数中, 接收代码最开始 DBGPRINT 了 一下,为了识别 我的驱动运行了。。

驱动在正常进行 转发工作,过一会 DebugView  中就不在输出任何信息了?通过一些证明,我的驱动好像 不在运行了,但是 也没任何提示 。。。郁闷。。。。
drivercoding
驱动牛犊
驱动牛犊
  • 注册日期2009-10-19
  • 最后登录2013-08-17
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望191点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-12-23 13:25
感到有点奇怪啊。先不管NAT方面的东西,如果你要实现类似功能的驱动,你应该写个NDIS protocol driver而不是intermediate driver。
wsb_never
驱动牛犊
驱动牛犊
  • 注册日期2009-12-24
  • 最后登录2010-01-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-12-24 23:38
我也是因为想学NAPT以及流量控制才进来这里的,请大家多多指教!
webqy
驱动牛犊
驱动牛犊
  • 注册日期2009-12-17
  • 最后登录2009-12-26
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望61点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-12-25 01:29
引用第3楼wsb_never于2009-12-24 23:38发表的  :
我也是因为想学NAPT以及流量控制才进来这里的,请大家多多指教!




都是新手,大家互相学习,我也算看出来了,这个论坛 免费帮忙的,不开分的帖子 基本没人恢复。

目前 我提问的 问题点 2 和 3 自己已经解决。

目前实现了一个最基本测试类型的NAT了。

支持单网卡 和多网卡 模式下 网关NAT 服务。

可提供给多台机器共享上网,目前正在做 多网段路由功能。

按自己思路摸索着编写的,代码比较乱,没整理。在XP + 2003DDK下开发。测试过几天没问题。


明天上传源码给大家参考,共同提高。。



wsb_never
驱动牛犊
驱动牛犊
  • 注册日期2009-12-24
  • 最后登录2010-01-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-12-25 22:50
期待源码啊大哥!
webqy
驱动牛犊
驱动牛犊
  • 注册日期2009-12-17
  • 最后登录2009-12-26
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望61点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-12-26 23:07
 不好意思,我不想传到论坛了,留下你的E-MAIL
游客

返回顶部