为何抓不到APP的请求包

问题: 为什么会抓不到App发出的请求包?

背景

某次App安全研究测试发现,正常情况下可以抓到请求包,但是却抓不到某点击操作发起的请求链接,但tcpdump却可以抓到,且Burp使用Nope Proxy插件也可抓到,并被wireshark解析为Http协议,依此进行了研究学习,欢迎更多类似例子的学习讨论。

问题解决

实际上Wireshark解析的请求包为HTTP协议,但是基于计算机网络知识,http协议实际上是应用层协议,而TCP则是传输层协议,理论上,http基于tcp协议实现,也即是,我们可以使用socket连接来实现自己的HTTP协议,从而发起HTTP请求。

因此,由于是socket实现(TCP)的http协议,因此不会经过代理服务器(抓包工具一般都无法抓取非http(s)协议),因此抓不到该HTTP请求包。

由于tcpdump是可以抓取所有协议的,所以抓到该请求包是正常的情况。

而至于为什么使用NoPe Proxy插件的Burp就可以抓到该请求包呢?

实际上,NoPe的原理是将所有的域名解析指向Burp代理,也即实际上发出的请求,都不是正确的ip地址,而是指向了burp的ip地址,因此可以抓到该请求包。

你可能感兴趣的:(问题解决)