一种基于网络协议实施监控网页访问的方法与流程

文档序号:12751913阅读:228来源:国知局

本发明涉及信息安全技术领域,特别涉及一种基于网络协议实施监控网页访问的方法。



背景技术:

随着科技的发展,人们对网络的依赖也越来越大,网络泄密问题也随之显现出来,各大公司,各种部门也不得不对职员的网络使用情况进行管控,防止职员泄露机密信息。

目前市面上也有很多的网络管控工具,大多数都是对电脑进行管控,且需在电脑上安装客户端,由客户端收集数据发送到监控端实现监控。这种方式就必然会有以下问题:1:客户端被卸载或禁用后就不会再起到监控作用;2:由于客户端需要在后台运行,不断向服务器发送数据必然会使耗电量增大,显然在移动设备上是不适用的。



技术实现要素:

本发明针对现有技术的缺陷,提供了一种基于网络协议实施监控网页访问的方法,能有效的解决上述现有技术存在的问题。

一种基于网络协议实施监控网页访问的方法,包括以下步骤:

S1:通过监控路由器,实现网页请求数据包采集,收集网络数据中的网页请求数据包;

S2:网页请求数据包解析,获取httpHost值和网络路径值;

S3:请求返回包采集,收集网络数据中的网页请求返回包;

S4:请求返回包解析,获取获取返回内容长度和返回内容,并将其写入缓存;

S5:网页请求封装,将网络请求与返回的值进行整合,获得网页的内容。

作为优选,所述S1的详细步骤如下:

S11:通过第三方API提供的相应接口抓取用户使用网络过程中产生的数据包,再通过浏览器的协议类型、端口号、Host和网络请求地址进行过滤,若发现对应数据包则记录起来;

S12:获取HTTP请求的Accept值,从记录的数据包中扫描特征“Accept:”到“0D0A”截取字符串即为Accrpt值;

S13:判断请求是否为网页请求,若Accept值中包含“text/html”则为网页请求,执行S2;否则表示不是网页请求,结束解析。

作为优选,所述S2的详细步骤如下:

S21:httpHost解析,从数据包中的“Host:”到“0D0A”截取的字符串即为httpHost值;

S22:网络路径解析,从数据包中的“GET”到“HTTP/1.1”截取的字符串即为网络路径值。

作为优选,所述S3的详细步骤如下:

S31:通过第三方API提供的相应接口抓取用户使用网络过程中产生的数据包,再通过返回包协议类型:TCP-HTTP和端口号:80,找到相应数据包并开始记录;

S32:获取返回内容类型,从数据包中的“Content-Type:”到第一个“;”截取字符串即为返回内容类型;

S33:判断返回内容类型是否为“text/html”,若是则是网页类型,执行S4;不是则结束解析。

作为优选,所述S4的详细步骤如下:

S41:获取返回内容长度命名为length;从http消息头“0D0A0D0A”位置后为返回内容长度的十六进制字符串值,该字符串以“0D0A”结束,通过转换方法得到返回内容十进制长度值记为length;

S42:获取返回内容,从内容长度向后获取length个字节为返回内容;

S43:将返回内容写入到缓存;将内容进行解压,又因解压gz压缩内容的系统库只提供了对gz文件的解压操作,所以需将内容写入到一个后缀名为“.gz”的文件中;

S44:解压文件,调用系统库直接对上一步保存的缓存文件进行解压,解压后得到一个网页文件即html文件,并将该html存储到指定路径;

S45:解析文件,调用库函数对html文件进行解析,根据网页的标签属性获取对应的内容。

作为优选,所述S5的详细步骤如下:

S51:申请一个全局对象缓存获取到的数值列表;

S52:获取网络请求数据包的本地端口号,通过第三方API的相应接口可获取到网络请求数据包的本地端口号;

S53:网络请求数据包校验取值;将本地端口号做为key在缓存列表中查找是否存在数值,该数值应为S44得到的html文件路径和S45获取到的title值,若是则将该值与S2获取到的httpHost和网络路径组合起来即为一个完整的网页访问数据;若不是则执行S54;

S54:若S53判断数值不存在,则将S2获取到的httpHost和网络路径以本地端口号为key存储到缓存列表中;

S55:获取网络请求返回包的本地端口号,通过第三方API的相应接口可获取到网络请求返回包的本地端口号;

S56:网络请求返回包校验取值;将本地端口号做为key在缓存列表中查找是否存在数值,该数值应为S2获取到的httpHost和网络路径,若是则将该值与S44得到的html文件路径和S45获取到的title值组合起来即为一个完整的网页访问数据;若不是则执行S57;

S57:若S55判断数值不存在,则将S44得到的html文件路径和S45获取到的title值以本地端口号为key存储到缓存列表中。

与现有技术相比本发明的优点在于:1、无需安装客户端,方便且隐蔽;2、通过抓取、解析路由器上收发的网络数据包实现监控,保护隐私数据的信息安全;3、可以获取被监控的设备中所浏览的所有网页记录,准确高效。

具体实施方式

为使本发明的目的:技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。

一种基于网络协议实施监控网页访问的方法,包括以下步骤:

S1:网页请求数据包采集;

S11:通过第三方API提供的相应接口抓取用户使用网络过程中产生的数据包,再通过浏览器的协议类型、端口号、Host和网络请求地址进行过滤,若发现对应数据包则记录起来;

S12:获取HTTP请求的Accept值,从记录的数据包中扫描特征“Accept:”到“0D0A”截取字符串即为Accrpt值;

S13:判断请求是否为网页请求,若Accept值中包含“text/html”则为网页请求,执行S2;否则表示不是网页请求,结束解析。

S2:网页请求数据包解析;

S21:httpHost解析,从数据包中的“Host:”到“0D0A”截取的字符串即为httpHost值;

S22:网络路径解析,从数据包中的“GET”到“HTTP/1.1”截取的字符串即为网络路径值。

S3:请求返回包采集;

S31:通过第三方API提供提供的相应接口抓取用户使用网络过程中产生的数据包,再通过返回包协议类型:TCP-HTTP和端口号:80,找到相应数据包并开始记录;

S32:获取返回内容类型,从数据包中的“Content-Type:”到第一个“;”截取字符串即为返回内容类型;

S33:判断返回内容类型是否为“text/html”,若是则是网页类型,执行S4;不是则结束解析。

S4:请求返回包解析;

S41:获取返回内容长度命名为length;从http消息头“0D0A0D0A”位置后为返回内容长度的十六进制字符串值,该字符串以0D0A结束,通过转换方法及可得到返回内容十进制长度值记为length;

S42:获取返回内容,从内容长度向后获取length个字节为返回内容;

S43:将返回内容写入到缓存;由于返回内容是通过gz压缩后传输的,所以需要将内容进行解压,又因解压gz压缩内容的系统库只提供了对gz文件的解压操作,所以需将内容写入到一个后缀名为“.gz”的文件中;

S44:解压文件,调用系统库直接对上一步保存的缓存文件进行解压,解压后得到一个网页文件即html文件,并将该html存储到指定路径(存储至硬盘);

S45:解析文件,调用库函数对html文件进行解析,根据网页的标签属性获取对应的内容。

例如取得网页的title标签可获得网页的标题;

获取百度用户账号的方法如下:

步骤一:直接通过文本读取的方式找到PageData.user节点,将内容存储到json对象中;

步骤二:通过json对象提供的方法获取到user_id(用户ID),user_name(用户名称)。

获取浏览的文本信息的方法如下:

通过网页解析接口(如Dom、jsoup等都可以解析网页内容)找到class="text",id="text"的div标签;

步骤二:通过网页解析接口提供的方法获取到div内的文本内容。

S5:网页请求封装,要得到一个完整的信息需将网络请求与返回的值进行整合,由于每一次完整的会话本地端口号都相同的,所以可通过本地端口号进行匹配;

S51:申请一个全局对象缓存获取到的数值列表,本例申请了一个JSONArray对象

S52:获取网络请求数据包的本地端口号,通过第三方API的相应接口可获取到网络请求数据包的本地端口号;

S53:网络请求数据包校验取值;将本地端口号做为key在缓存列表中查找是否存在数值,该数值应为S44得到的html文件路径和S45获取到的title值,若是则将该值与S2获取到的httpHost和网络路径组合起来即为一个完整的网页访问数据;若不是则执行S54;

S54:若S53判断数值不存在,则将S2获取到的httpHost和网络路径以本地端口号为key存储到缓存列表中;

S55:获取网络请求返回包的本地端口号,通过第三方API的相应接口可获取到网络请求返回包的本地端口号;

S56:网络请求返回包校验取值;将本地端口号做为key在缓存列表中查找是否存在数值,该数值应为S2获取到的httpHost和网络路径,若是则将该值与S44得到的html文件路径和S45获取到的title值组合起来即为一个完整的网页访问数据;若不是则执行S57;

S57:若S55判断数值不存在,则将S44得到的html文件路径和S45获取到的title值以本地端口号为key存储到缓存列表中。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1