阅读:2052回复:5
如何在Filter-Hook中获取URL
我现在做了一个Filter-Hook程序挂接IpFilterDriver,想在网络发送DNS时截获其URL,但不知为什么,我获得的URL长度,DNS解析服务器的地址都对,但就是没找到URL,按说URL应在UDP中紧跟着DNS字段,可读出的却不对,这是怎么回事,是否因为我在局域网上,没有域名服务器,随便指定一个IP地址做域名服务器地址不行?但应该不会影响呀,因为我拦截的是发送包,而且UDP并不确认对方是否连接正常,照样应该将URL地址发送到我指定的域名服务器呀,为什么会取不到正确的字段了?各位同人有这方面经验或原代码的请指教,谢谢!!!
|
|
沙发#
发布于:2004-03-30 22:46
这可能是FILTER-HOOK的问题,这个接口得到的发送数据包,只有IP头和TCP/UDP头,数据并不存在。
你可以登录 http://www.110i.net,通过 110i@110i.net 和我联系,我们一起来研究和探讨一下。 再见! |
|
|
板凳#
发布于:2004-03-31 10:07
什么是FILTER-HOOK呀。介绍一下。
从我用PASSTHRU改进后截获得到的包看,URL并不是跟在DNS请求之后的。至少还有TCP三次握手的几个包。在随后的包中就是URL,当然要除去MAC头,IP头,TCP头,并且HTTP,FTP等子协议的URL是不同的,但都要通过TCP来发送。 这是我截到的包 00 50 FC 27 C0 D5 00 00-E8 D8 62 1A 08 00 45 00 .P.'......b...E. 01 D7 03 14 40 00 80 06-39 18 C0 A8 00 BF DA F6 ....@...9....... 20 97 04 41 00 50 23 0D-EE 44 6F 0B 59 88 50 18 ..A.P#..Do.Y.P. 43 80 89 00 00 00 47 45-54 20 2F 66 6F 72 75 6D C.....GET /forum 2F 76 69 65 77 74 68 72-65 61 64 2E 70 68 70 3F /viewthread.php? 74 69 64 3D 36 33 37 32-35 20 48 54 54 50 2F 31 tid=63725 HTTP/1 2E 31 0D 0A 41 63 63 65-70 74 3A 20 69 6D 61 67 .1..Accept: imag 65 2F 67 69 66 2C 20 69-6D 61 67 65 2F 78 2D 78 e/gif, image/x-x 62 69 74 6D 61 70 2C 20-69 6D 61 67 65 2F 6A 70 bitmap, image/jp 65 67 2C 20 69 6D 61 67-65 2F 70 6A 70 65 67 2C eg, image/pjpeg, 20 61 70 70 6C 69 63 61-74 69 6F 6E 2F 78 2D 73 application/x-s 68 6F 63 6B 77 61 76 65-2D 66 6C 61 73 68 2C 20 hockwave-flash, 2A 2F 2A 0D 0A 41 63 63-65 70 74 2D 4C 61 6E 67 */*..Accept-Lang 75 61 67 65 3A 20 7A 68-2D 63 6E 0D 0A 41 63 63 uage: zh-cn..Acc 65 70 74 2D 45 6E 63 6F-64 69 6E 67 3A 20 67 7A ept-Encoding: gz 69 70 2C 20 64 65 66 6C-61 74 65 0D 0A 55 73 65 ip, deflate..Use 。。。。 是标准的MAC头+IP头+TCP头的格式。GET后不是你想要的吗? |
|
地板#
发布于:2004-03-31 10:11
这都多会的帖子了呀!还翻出来,让我白抓了半天的包。
|
|
地下室#
发布于:2004-04-01 11:21
FILTER-HOOK是WINDOWS自带的防火墙的开发技术,它可以对数据进行控制,但是有一个问题就是对发送的数据进行过滤时,对于TCP数据包只有IP头信息和TCP头信息,并没有发送的数据。
你可以登录 http://www.110i.net,通过 110i@110i.net 和我联系,我们一起来研究和探讨一下。 再见! |
|
|
5楼#
发布于:2004-04-05 03:07
我ndis一窍不通,只知道接收包在哪个地方,那个packet什么的结构一层套一层,看了都头大,能否装你改过的抓包程序给我?
还有就是我以前一直是在linux下干,现在改windows,连debug怎么输出都不会,能否给我简单说说用什么工具以及方法? |
|