wangjian
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2004-04-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2240回复:7

请教!!TDI层驱动开发的问题

楼主#
更多 发布于:2002-03-16 18:32
各位大虾:
    我用DRIVESTUDIO开发TDI协议层的驱动程序,请问怎样捕获IP包,发送IP包,要用到那些函数,各位大虾能否详细说明.小生不胜感激!!!  :(
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-03-21 16:32
[quote]sorry!我前面写的是98的,而且只用到firewall的功能,没有处理IP包的数据。
防火墙不处理IP包的数据? [/quote]
我也是第一次作ndis的driver,为了赶进度,也没有研究那么多。所以并不清楚是否在tdi层上的数据就是ip packet。我在这层上面只是处理了addr & port而已。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
wangjian
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2004-04-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-03-19 15:13
还请版主帮忙解释如何截获IP包,我这样理解不知对不对,I/O管理器创建IRP,然后传递IRP给相应的驱动程序,驱动程序接受IRP,执行IRP指定的操作。那么系统要想发一个IP包,则I/O管理器创建一个IRP,IRP结构中的I/O堆栈单元指向TCPIP.SYS驱动程序(对于WIN2000),我想请问这个IRP怎样得到,怎样用DRIVERSTUDIO的函数实现?TCPIP.SYS属于协议层的驱动程序,是不是TCPIP.SYS再初始化这个Irp包,使I/O堆栈单元的指针指向NDIS中间层驱动程序?
谢谢!
wangjian
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2004-04-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-03-19 14:56
还请版主帮忙解释如何截获IP包,我这样理解不知对不对,I/O管理器创建IRP,然后传递IRP给相应的驱动程序,驱动程序接受IRP,执行IRP指定的操作。那么系统要想发一个IP包,则I/O管理器创建一个IRP,IRP结构中的I/O堆栈单元指向TCPIP.SYS驱动程序(对于WIN2000),我想请问这个IRP怎样得到,怎样用DRIVERSTUDIO的函数实现?TCPIP.SYS属于协议层的驱动程序,是不是TCPIP.SYS再初始化这个Irp包,使I/O堆栈单元的指针指向NDIS中间层驱动程序?
谢谢!
flyfox
驱动中牛
驱动中牛
  • 注册日期2001-04-05
  • 最后登录2012-08-03
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望22点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-03-19 09:38
sorry!我前面写的是98的,而且只用到firewall的功能,没有处理IP包的数据。
防火墙不处理IP包的数据?
一剑西来,天外飞仙
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-03-19 08:24
sorry!我前面写的是98的,而且只用到firewall的功能,没有处理IP包的数据。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
wangjian
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2004-04-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-03-19 00:23
谢谢版主!我用的是win2000,I/o管理器发一个IRP,我怎样从IRP包的结构判断系统是否想发一个IP包,IP包中的数据如何从IRP 中得知其存放位置,怎样用driverstudio 的函数实现?我是初学,还请多多指教!
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-03-17 17:18
哪个os呢?一般是在TdiSend/TdiReceive里面。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部