基于Web的拦截网页中弹出广告编程技术的研究及实践
117 No16 Vol第 17 卷第 6 期 北华航天工业学院学报
Journal of Nort h China Instit ute of Aerospace Engineering Dec12007 2007 年 12 月
基于W eb的拦截网页中弹出广告编程技术的研究及实 践
杨 立 路玉建 金永涛
()北华航天工业学院 计算机科学与工程系 , 河北 廊坊 065000
摘 要 : 本文采用基于 Web 的拦截技术 , 通过对服务器传来的数据包进行分析 , 对其中的弹出广告的数据包进
行过滤 , 最终实现拦截网页中弹出的广告牌 , 达到快速浏览网页的效果 。
关键词 : 数据包过滤 ; 信息快速传递 ; 拦截技术
() 文章编号 : 1673 - 7938 200706 - 0007 - 02 中图分类号 : TP393 文献标识码 : A
0 引 言2Hoo k Driver 、ND IS Hoo k Driver 等 。当 应 Filter
为了实现网络信息的快速传递 ,保障上网浏览 程序要发送或接收网络数据包的时候 ,都是通过 者打开网页的速度和查找信息的快捷方便 ,有必要 协议驱动所提供的接口来进行的 。协议驱动提供 采取适当的措施来解决网页中弹出广告的拦截问 一套系统预定义的
接口来和应用程序之间进
,本文采用编程的方法 ,利用基于 Web 页的拦截 交互 。只需要开发一个过滤驱动来截获这些交互 技术对服务器端传到终端的广告等信息进行过滤 , 口 ,就可以实现网络数据包的拦截 。 也可在一定程度上对一些不健康的和有危害性的信 实际上许多个人防火墙结合了几种不同的技 息进行过滤 ,以实现净化网络环境 ,提高上网效率 , 来在不同层面上进行网络数据包拦截 。 达到高效 、快捷地利用互联网进行信息资源的浏览 2 程序
思路与实现
和处理的目的 。 为了能够了解弹出广告数据包的过滤和拦截
1 网络数据包的拦截技术概述术 ,首先要分析一下广告窗口的一般特性 。
由于网络安全问题的日益严重 ,人们也越来越 在网页中弹出的广告窗口和 I E 窗口很相似 ,重视网络安全产品的开发和使用 。防火墙作为最早 是在广告窗口中只有浏览区域没有工具栏 、菜单栏 出现的网络安全产品和使用量最大的安全产品受到 地 址 栏 等 。这 些 窗 口 一 般 是 通 过 主 页 面 里 大家的青睐 。 J avascrip t 脚本或 VB Scrip t 脚本语言来动态弹出的
基于 Window s 的个人防火墙核心技术在于网 其实质还是一个 I E 窗口 。因此 ,如果我们想找到 络数据包拦截技术 ,要拦截 Window s 下的网络数据 告窗口可以先搜寻 I E 窗口 ,然后判断其窗口是否
( ( ) ) 包可在用户态 user2mo de和内核 态 ker nel2mo de菜单工具条 、地址栏等东西 。虽然广告窗体中没 两个层面进行 。 地址栏 ,但并不是因为它不存在而是被隐藏起来了
在用户态下进行网络数据包拦截的方法主要有这是程序中的关键 ,只要判断出地址栏的可见性
( ) L SP Winsock L ayered Service Provider 、Window s可以认为该 I E 窗口是广告窗口了 ,虽然这样的判 2000 包过滤接口 、替换系统自带 W IN SOC K 动态连 不是十分严格 ,但从实际使用情况来看误关一些 接库的方法等 。用户态下进行数据包拦截方法中明 常窗口的发生几率是相当小的 ,可以忽略 。 显的缺点是只能在 Winsock 层次上进行 ,而对于网 由于程序运行后 ,任意时刻弹出的广告窗体 络协议栈中底层协议的数据包无法进行处理 。 要随时关闭 ,所以应当通过设置定时器 ,每隔一段
利用驱动程序拦截网络数据包的方法主要有间搜寻一下当前是否有广告窗口 ,如果有就将其 TD I 过滤驱动程序 、ND IS 中间层驱动程序 、Win2 k闭 ,否则继续监视 。所以要做一个定时器来监视
口的情况 。 收稿日期 : 2007 - 11 - 07 首先 ,我们对屏幕上的窗口进行枚举搜索 ,通( ) 作者简介 : 杨 立 1957 - ,男 ,教授 ,河北秦皇岛人 ,主要从事
( ) FindWindow I EFrame , vbN ull St ring看一下屏幕计算机应用技术的教学及研究 。
( ( ) Wo r ker W = FindWindow Ex children i , 0 , I E 类型的窗口 ,如果存在 I E 窗口就通过 是否存在
( ) Get Window hw nd , GW HWNDN EX T继续搜寻下 — )“Wo r ker W”, vbN ull St ring一个 I E 窗口 ,直至搜寻完最后一个窗体为止 ,然后 ( ReBar Window = FindWindow Ex Wo r ker W , 0 , 把所有 I E 类型的窗口保存起来 。 )“ReBar Window32”, vbN ull St ring 程序设计思路如下 : ( Co mboBo x Ex = FindWindow Ex ReBar Window ,
()hw nd = FindWindow “ 2 vbN ullI EFrame ”, 0 ,“Co mboBo x Ex32”, vbN ull St ring
( ) ComboBox & = FindWindow Ex Co mboBo x Ex & , St ring’找到第一个 I E 窗口
)( )0 & ,“Co mboBo x”, vbN ull St ring’MsgBo x St r Hw nd
( Edit & = FindWindow Ex Co mboBo x & , 0 & , If hw nd Then’如果存在 I E 窗口就继续查找下
)“Edit ”, vbN ull St ring一个 I E 窗口
( ) ( Child Hw nd = Get Window hw nd , GW HWND2 If IsWindowVisible Edit Then’判断 U RL 是 —
否可见 )N EX T
’判断出广告窗口后关闭它co unt = 1
() ()CL O SE , 0 , 0’ Po st Message children i, WM ReDim Preserve children co unt —
关闭相应的窗口 () children co unt = hw nd
End If Do While Child Hw nd’在 I E 的兄弟窗口中查找
Next I E 类型的窗口 。
3 结 语. . . . . .
本文通过程序设计的方法 ,针对基于 Web 的拦 ’保存所有符合条件窗口的句柄
截技术 ,对服务器传来的数据包进行分析 ,对其中弹 co unt = co unt + 1
出广告的数据包进行过滤 ,最终达到拦截网页中弹 ()ReDim Preserve children co unt
出的广告的目的 。利用编程来实现该目标 ,不仅方 () children co unt = Child Hw nd
便且成本低 ,容易调整 ,易于推广 。文章中仅对关闭 . . . . . .
广告窗口的核心代码作了简单介绍 ,实际编程中使 End If
( Get Window Child Hw nd , Child Hw nd = 用了大量的 A P I 函数 。 GW —
) HWNDN EX T参考文献 :
1 田长 根. 基 于 hoo k 技 术 拦 截 I E 弹 出 广 告 窗 口 的 实 现 Loop () J . 计算机与现代化 ,2006 , 12. End If 顾红其 . 利用 B HO 技术实现 I E 广告窗口的拦截 J . 科 2 其次 ,找到了所有 I E 类型号的窗口后 ,再对这 () 技信息 ,2006 , 12.
郇义鹏 ,虞水俊. 利用 A P I 拦截技术实现串口通信数据 些 I E 窗口进行判断 ,是否是广告窗口 :3 () 拦截 J . 计算机应用 ,2003 , 11. 程序设计思路如下 :张福峰 ,李文广 . Delp hi 下网页广告拦截技术的实现 J . Fo r i = 1 To co unt’得到指定 I E 窗口 U RL 地址 () 沧州师范专科学校学报 ,2007 , 01. 4
栏的句柄
Intercept the Web Page to Hit by Bullet an Advert isement Pla it
Distance Techn ical Research an d Fulf ill ments According to the Web
L U Yu2jian J IN Yo ng2tao YAN G Li
( )Co mp uter Science and Engineering Depart ment , Nort h China Instit ute of Aerospace Engineering , L angfang 065000 China
Abstract :This paper uses to intercep t t he technique according to t he Web , t he data t hat passes to sp read to t he server wrap s to carry
o n t he analysis , as to it’s flick t he advertised data open to wrap to carry o n t he percolatio n mediumly , t he end realizatio n intercep t s
t he advertisement card t hat t he web page hit s by bullet , at tain quickly result of browse t he web page.
Key words :t he data wrap s t he percolatio n ; t he informatio n delivers quickly ;intercep t t he technique