一种基于Fiddler的HTTPS流量内容的审计方法与流程

文档序号:15980378发布日期:2018-11-17 00:15阅读:9792来源:国知局

本发明涉及计算机技术领域,具体是一种基于fiddler的https(hypertexttransferprotocoloversecuresocketlayer)流量内容的审计方法。

背景技术

随着人们对保护隐私数据越来越重视,https越来越被广泛应用于电子商务、银行、购物及社交等网站。https在提供给数据安全的同时,也给局域网、企业内网等带来了安全隐患。一些人通过https将企业内部的公司商业信息泄露出去,通过https将发动一些黑客攻击或传播木马病毒等,因此需要对https流量进行内容的审计。

常见的https流量审计方法是:在企业出口购买基于https的中间人的硬件设备,但此方法投入成本很大,并且是定制化,不易于后期扩展。



技术实现要素:

针对上述技术问题,本发明提供了一种基于fiddler的https流量内容的审计方法,能够解决局域网、企业内部中小客户的https流量内容的审计要求。

具体步骤如下:

步骤一、在局域网、企业的出口网关处,安装windows服务器并部署fiddler最新版本的软件;

步骤二、启动fiddler软件,生成根ca证书,并分发至局域网和企业内部的机器,使之信任;

步骤三、局域网和企业内部的机器的代理服务设置为部署fiddler的服务器的ip,端口为8888;

步骤四、启动fiddler并打开https协议数据的捕获开关,fiddler底层启动捕包处理流程,捕获网卡上所有数据包。

所有数据包是指实时捕获的https双向数据。

步骤五、编写处理插件代码并编译为dll文件,对实时捕获的https协议数据包的请求包和返回包提取字段并保存;

具体如下:

步骤501、用编译工具visualstudio2010创建一个visualc#classlibrary的工程;

步骤502、在visualc#classlibrary的工程中编写处理插件代码;

处理插件代码实现的功能包括两部分:

首先、将https协议数据包的请求包和返回包的字段进行提取;

字段包括:http头部的url、域名、请求体数据和返回体数据;

然后,将提取到的数据按照文本文件的格式写入到%programfiles%\fiddler2\data目录中;

步骤503、用编译工具visualstudio2010将处理插件代码编译为dll文件;并将dll文件拷贝至%programfiles%\fiddler2\scripts目录进行安装;

fiddler软件启动后自动加载此目录下的dll文件。

步骤六、编写https正则匹配模块的代码并编译为exe文件,对data目录中保存的文本文件进行正则匹配,生成日志。

具体如下:

步骤601、用编译工具visualstudio2010创建一个visualc++application的工程;

步骤602、在visualc++application的工程中编写处理代码;

编写处理代码的功能包括:

首先,读取%programfiles%\fiddler2\rule目录下设置的正则规则集合,并实时对%programfiles%\fiddler2\data目录进行监控;

然后,每隔1秒钟判断是否有新的文本文件生成,如果没有,继续每隔1秒钟进行判断;如果有,自动读取此文件的内容,并解析出新的文本文件里的url、域名、请求体数据和返回体数据字段,并进行正则表达式的匹配,判断是否命中了正则规则,如果命中,将url、域名、请求体数据、返回体数据及命中的正则规则内容写入到%programfiles%\fiddler2\log目录,并生成日志;否则每隔1秒钟进行判断;

步骤603、用编译工具visualstudio2010将上述处理代码编译为exe文件;并将exe文件拷贝至%programfiles%\fiddler2\run目录下;

点击exe文件即启动了正则匹配模块。

本发明的优点在于:一种基于fiddler的https流量内容的审计方法,以一种开源软件加插件代码编写,满足对局域网、企业内部中小客户的https流量内容的审计要求。

附图说明

图1是本发明一种基于fiddler的https流量内容的审计方法的流程图;

图2是本发明一种基于fiddler的https流量内容的审计方法依赖的系统架构图;

图3是本发明https协议数据处理插件的流程图;

图4是本发明数据的正则匹配处理流程图;

具体实施方式

下面将结合附图和实施例对本发明作进一步的详细说明。

本发明提供了一种基于fiddler的https流量内容的审计方法,包括了利用fiddler开源的https数据捕获模块、自定义https插件处理模块及自定义https正则匹配处理模块。使用fiddler开源工具自身的https数据捕获模块,对https双向数据进行实时获取;编写自定义处理插件,提取出https数据的请求包和返回包的数据,再提取出相关的字段;编写https正则匹配模块,按照指定正则匹配规则集合对字段内容进行正则匹配。本方法以一种最小代价、灵活部署,满足对局域网、企业内部中小客户的https流量内容的审计要求。

如图1所示,具体步骤如下:

步骤一、在局域网、企业的出口网关处,安装windows服务器并部署fiddler最新版本的软件;

如图2所示,本发明所依赖的整体架构:包括

n个客户端pc、安装了fiddler的服务器及n个web服务器。各客户端pc设置网络代理,将代理服务器设置为安装了fiddler的服务器的ip地址以及端口为8888。

fiddler软件菜单tools->options->https界面,选择capturehttpsconnects,并且选择decrypthttpstraffic。点击actions里面的exportrootcertificatetodesktop,将生成fiddlerroot.cer文件,将此文件分发至各客户端pc进行安装;

步骤二、启动fiddler软件,生成根ca证书,并分发至局域网和企业内部的机器,使之信任;

步骤三、局域网和企业内部的机器的代理服务设置为部署fiddler的服务器的ip,端口为8888;

步骤四、启动fiddler并打开https协议数据的捕获开关,fiddler底层启动捕包处理流程,捕获网卡上所有数据包。

所有数据包是指实时捕获的https双向数据。

步骤五、编写处理插件代码并编译为dll文件,对实时捕获的https协议数据包的请求包和返回包提取字段并保存;

如图3所示,具体如下:

步骤501、用编译工具visualstudio2010创建一个visualc#classlibrary的工程;

步骤502、在visualc#classlibrary的工程中编写处理插件代码;

处理插件代码实现的功能包括两部分:

首先、将https协议数据包的请求包和返回包的字段进行提取;

字段包括:http头部的url、域名、请求体数据和返回体数据;

处理请求包的回调函数的处理逻辑为:提取https协议的连接信息;如果连接的http的请求方法为get方法,那么提取出连接中的url信息;如果连接的http的请求方法为post方法,那么提取出连接中的域名及请求体的信息;

处理返回包的回调函数的处理逻辑为:提取https协议的连接信息,提取连接的返回数据包字段;

然后,将提取到的数据按照文本文件的格式写入到%programfiles%\fiddler2\data目录中;

步骤503、用编译工具visualstudio2010将处理插件代码编译为dll文件;并将dll文件拷贝至%programfiles%\fiddler2\scripts目录进行安装;

fiddler软件启动后自动加载此目录下的dll文件。

步骤六、编写https正则匹配模块的代码并编译为exe文件,对data目录中保存的文本文件进行正则匹配,生成日志。

如图4所示,预先准备正则规则集合,包括url正则规则和关键词规则。对于请求包中对url、域名和请求体数据进行正则匹配,对于返回包中对返回体数据进行正则匹配,如果命中,生成日志文件。具体如下:

步骤601、用编译工具visualstudio2010创建一个visualc++application的工程;

步骤602、在visualc++application的工程中编写处理代码;

编写处理代码的功能包括:

首先,读取%programfiles%\fiddler2\rule目录下设置的正则规则集合,并实时对%programfiles%\fiddler2\data目录进行监控;

然后,每隔1秒钟判断是否有新的文本文件生成,如果没有,继续每隔1秒钟进行判断;如果有,自动读取此文件的内容,并解析出新的文本文件里的url、域名、请求体数据和返回体数据字段,并进行正则表达式的匹配,判断是否命中了正则规则,如果命中,将url、域名、请求体数据、返回体数据及命中的正则规则内容写入到%programfiles%\fiddler2\log目录,并生成日志;否则每隔1秒钟进行判断;

步骤603、用编译工具visualstudio2010将上述处理代码编译为exe文件;并将exe文件拷贝至%programfiles%\fiddler2\run目录下;

点击exe文件即启动了正则匹配模块;

以上实施用例仅用于说明本发明而非限制。本领域的普通技术人员应当理解,对本发明修改变形或者等同替换,而不脱离本发明精神范围的,其均应涵盖在本发明的权利要求当中。

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