1.本发明涉及计算机通讯技术领域,特别是一种对域名进行请求分析的方法及其系统。
背景技术:2.目前请求分析就是指抓包,主要用在手机端应用测试,或者手机端应用审核,分析其内容是否符合安全合规。
3.目前对于https的请求由于客户端会验证ca证书,所以,如果要抓包分析请求,则导致客户端请求失败。现有技术存在不足的地方是如果手机端使用了https并且对证书进行校验的时候,如果对https请求进行抓包,需要使用伪造证书的方式返回给手机端响应信息,手机端应用如果校验证书,就会识别出证书是伪造的,就不再发送请求,从而导致抓包失败。
技术实现要素:4.为克服上述问题,本发明的目的是提供一种对域名进行请求分析的方法,在不影响应用正常请求的情况下抓包,对其进行合规检查,提升了排查问题和分析问题的效率。
5.本发明采用以下方案实现:一种对域名进行请求分析的方法,所述方法包括如下步骤:
6.步骤s1、通过对客户端应用进程进行搜索包含域名的内存,将内存的域名中的“https://”替换为“http://”;
7.步骤s2、通过代理进程将带有http的域名的请求抓取下来进行分析是否符合安全合规;
8.步骤s3、代理进程将请求再还原回原始请求“https://”发送给目标服务器;
9.步骤s4、目标服务器响应结果给代理进程,代理进程将响应结果再返回给客户端应用进程。
10.进一步的,所述步骤s1进一步具体为:通过设置系统代理为代理进程,获取https的connect的域名信息,保存所有域名信息;
11.通过/proc/代理进程/pagemap文件中解析出进程id,并获取进程id对应的逻辑内存映射的物理内存区域;对物理内存区域进行搜索,保存域名,并替换域名url中的“https://”替换为“http://”。
12.进一步的,所述通过设置系统代理为代理进程具体为:通过wifi网络设置代理,将系统代理设置为localhost,设置端口为9999(根据实际代理进程监听的端口设置),即能将系统代理设置为代理进程。
13.本发明还提供了一种对域名进行请求分析的系统,所述系统包括域名替换模块、抓取信息模块、还原请求模块、以及结果反馈模块;
14.所述域名替换模块,通过对客户端应用进程进行搜索包含域名的内存,将内存的
域名中的“https://”替换为“http://”;
15.所述抓取信息模块,通过代理进程将带有http的域名的请求抓取下来进行分析是否符合安全合规;
16.所述还原请求模块,通过代理进程将请求再还原回原始请求“https://”发送给目标服务器;
17.所述结果反馈模块,通过目标服务器响应结果给代理进程,代理进程将响应结果再返回给客户端应用进程。
18.进一步的,所述域名替换模块的实现方式进一步具体为:通过设置系统代理为代理进程,获取https的connect的域名信息,保存所有域名信息;
19.通过/proc/代理进程/pagemap文件中解析出进程id,并获取进程id对应的逻辑内存映射的物理内存区域;对物理内存区域进行搜索,保存域名,并替换域名url中的“https://”替换为“http://”。
20.进一步的,所述通过设置系统代理为代理进程具体为:通过wifi网络设置代理,将系统代理设置为localhost,即能将系统代理设置为代理进程。
21.本发明的有益效果在于:在内存中将https改为http,这样,客户端应用在发送请求的时候就不会进行https校验,这样就可以抓包,从而对抓到的包的内容进行判断是否符合安全合规,从而提升了排查问题和分析问题的效率。
附图说明
22.图1是本发明的方法流程示意图。
23.图2是本发明的系统原理框图。
具体实施方式
24.下面结合附图对本发明做进一步说明。
25.请参阅图1所示,本发明的一种对域名进行请求分析的方法,所述方法包括如下步骤:
26.步骤s1、通过对客户端应用进程进行搜索包含域名的内存,将内存的域名中的“https://”替换为“http://”;
27.步骤s2、通过代理进程将带有http的域名的请求抓取下来进行分析是否符合安全合规;
28.步骤s3、代理进程将请求再还原回原始请求“https://”发送给目标服务器;
29.步骤s4、目标服务器响应结果给代理进程,代理进程将响应结果再返回给客户端应用进程。
30.下面结合一具体实施例对本发明做进一步说明:
31.一种对域名进行请求分析的方法,
32.1、通过对客户端应用进程进行搜索包含域名的内存,将内存的域名中的“https://”替换为“http://”;
33.1.1通过设置系统代理为代理进程1,获取https的connect的域名信息(connect的域名信息是不加密的),保存所有域名信息;所述通过设置系统代理为代理进程具体为:通
过wifi网络设置代理,将系统代理设置为localhost,即能将系统代理设置为代理进程。
34.1.2通过/proc/代理进程id1/pagemap文件中解析出进程id1,并获取进程id1对应的逻辑内存映射的物理内存区域。对这些区域进行搜索步骤1.1中保存的域名,并替换域名url中的https://{原域名}替换为http://{原域名}.customdomain。
35.例如:1.1通过应用名称获取当前进程id,例如进程id为10001
36.1.2.本身文件路/proc/进程id1/pagemap其中进程id是10001,所以是从/proc/10001/pagemap路径中获取当物理内存区域。文件中记录了逻辑内存的地址空间对应的物理内存空间位置,例如:逻辑内存的0~1024,对应物理内存地址可能是100001~101025,逻辑内存的1025~2048对应物理内存地址200001~201025。所以,遍历进程id为10001应用的内存,就可以根据逻辑内存对应的物理内存,全部扫描,例如步骤1.1中有地址https://xxx.com,则内存扫描到https://xxx.com就替换为http://xxx.com.customdomian。
37.2、通过代理进程1将带有http的域名的请求抓取下来进行分析是否符合安全合规;
38.3.代理进程将请求再还原回原始请求https://xxx.com发送给xxx.com目标服务器。
39.4.目标服务器响应结果给代理进程,代理进程将响应结果再返回给客户端应用进程。
40.请参阅图2所示,本发明还提供了一种对域名进行请求分析的系统,所述系统包括域名替换模块、抓取信息模块、还原请求模块、以及结果反馈模块;
41.所述域名替换模块,通过对客户端应用进程进行搜索包含域名的内存,将内存的域名中的“https://”替换为“http://”;
42.所述域名替换模块的实现方式进一步具体为:通过设置系统代理为代理进程,获取https的connect的域名信息,保存所有域名信息;
43.通过/proc/代理进程/pagemap文件中解析出进程id,并获取进程id对应的逻辑内存映射的物理内存区域;对物理内存区域进行搜索,保存域名,并替换域名url中的“https://”替换为“http://”。
44.例如:1.1通过应用名称获取当前进程id,例如进程id为10001
45.1.2.本身文件路/proc/进程id1/pagemap其中进程id是10001,所以是从/proc/10001/pagemap路径中获取当物理内存区域。文件中记录了逻辑内存的地址空间对应的物理内存空间位置,例如:逻辑内存的0~1024,对应物理内存地址可能是100001~101025,逻辑内存的1025~2048对应物理内存地址200001~201025。所以,遍历进程id为10001应用的内存,就可以根据逻辑内存对应的物理内存,全部扫描,例如步骤1.1中有地址https://xxx.com,则内存扫描到https://xxx.com就替换为http://xxx.com.customdomian。
46.所述抓取信息模块,通过代理进程将带有http的域名的请求抓取下来进行分析是否符合安全合规;
47.所述还原请求模块,通过代理进程将请求再还原回原始请求“https://”发送给目标服务器;
48.所述结果反馈模块,通过目标服务器响应结果给代理进程,代理进程将响应结果再返回给客户端应用进程。
49.所述通过设置系统代理为代理进程具体为:通过wifi网络设置代理,将系统代理设置为localhost,即能将系统代理设置为代理进程。
50.总之,本发明在内存中将https改为http,这样,客户端应用在发送请求的时候就不会进行https校验,这样就可以抓包,从而对抓到的包的内容进行判断是否符合安全合规,从而提升了排查问题和分析问题的效率。
51.以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。