阅读:1382回复:8
关于包过滤的协议识别,50分!
大家好,小弟最近实现一个包截获的过滤驱动,
现在已经能够成功截获包。 发现TDI接口只能提供以下操作的识别: TDI_ACCEPT TDI_ASSOCIATE_ADDRESS TDI_CONNECT TDI_RECEIVE TDI_SEND TDI_QUERY_INFORMATION TDI_SET_EVENT_HANDLER 等等。 那么当我截获一个网络包时,该如何判断它的 协议 源端口 目的端口 源IP 目的IP 谢谢诸位高手! |
|
沙发#
发布于:2002-05-27 16:30
如果偶没搞错的话, tdi只处理tcp/udp包
想知道协议类型,估计只有取到ip包才知道吧? ip包头有协议类型标识. |
|
|
板凳#
发布于:2002-05-27 16:36
恩,您说的非常对,TDI只能导出两个设备,
\\\\Device\\\\Tcp和\\\\Device\\\\Udp 我不知道如果加挂一个IP Filter Hook Driver 是否能够做到。 |
|
地板#
发布于:2002-05-27 20:05
////////////////////////////////////
我不知道如果加挂一个IP Filter Hook Driver 是否能够做到。 ///////////////////////////////// IP Filter Hook Driver 这只对 ip 有效! 你若只是想“分析”,可用ddk中的packet为主筐架。 可以实现你想要的!!! 给点分先??? :D :D :D |
|
|
地下室#
发布于:2002-05-27 23:32
举个例子说吧?TDI_CONNECT的时候在irpSp->Parameter里面就是一个结构,其中就有源地址,目标地址,端口的信息,你仔细看看DDK的文档。其他的我想也类似。
|
|
5楼#
发布于:2002-05-27 23:35
再说了,你拦到了TCP设备,自然到这里来的是TCP的东西了,其他应用层的协议,可以通过它的内容来分析阿。
|
|
6楼#
发布于:2002-05-28 10:46
有可能的话你也试着勾挂一下\\Device\\ip
|
|
|
7楼#
发布于:2002-05-28 10:50
恩。。。。多谢各位高手的指教。
对于应用层协议的区分,其实用端口号就好了, 但是对于网络层, 该如何区分IP和ICMP? |
|
8楼#
发布于:2002-05-28 23:30
好象到达应用层好,网络层的封装,就以去掉了???(推测) 黑黑: 你若只是想“分析”,可用ddk中的packet为主筐架。 可以实现你想要的!!! |
|
|