阅读:2238回复:7
请教!!TDI层驱动开发的问题
各位大虾:
我用DRIVESTUDIO开发TDI协议层的驱动程序,请问怎样捕获IP包,发送IP包,要用到那些函数,各位大虾能否详细说明.小生不胜感激!!! :( |
|
沙发#
发布于:2002-03-17 17:18
哪个os呢?一般是在TdiSend/TdiReceive里面。
|
|
|
板凳#
发布于:2002-03-19 00:23
谢谢版主!我用的是win2000,I/o管理器发一个IRP,我怎样从IRP包的结构判断系统是否想发一个IP包,IP包中的数据如何从IRP 中得知其存放位置,怎样用driverstudio 的函数实现?我是初学,还请多多指教!
|
|
地板#
发布于:2002-03-19 08:24
sorry!我前面写的是98的,而且只用到firewall的功能,没有处理IP包的数据。
|
|
|
地下室#
发布于:2002-03-19 09:38
sorry!我前面写的是98的,而且只用到firewall的功能,没有处理IP包的数据。防火墙不处理IP包的数据? |
|
|
5楼#
发布于: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中间层驱动程序?
谢谢! |
|
6楼#
发布于: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中间层驱动程序?
谢谢! |
|
7楼#
发布于:2002-03-21 16:32
[quote]sorry!我前面写的是98的,而且只用到firewall的功能,没有处理IP包的数据。防火墙不处理IP包的数据? [/quote] 我也是第一次作ndis的driver,为了赶进度,也没有研究那么多。所以并不清楚是否在tdi层上的数据就是ip packet。我在这层上面只是处理了addr & port而已。 |
|
|