本文目录一览:
- 1、Charles浏览器抓包
- 2、如何使用Charles抓包并分析Http报文
- 3、如何使用Charles抓包
- 4、安卓编程Volley框架发送post数据。php端$_POST接收不到数据,返回数据正常!
Charles浏览器抓包
一、浏览器
浏览器的核心部分是浏览器内核。
浏览器内核:"Rendering Engine",可大概译为“渲染引擎”,负责对网页语法的解释并渲染网页。通常我们知道的内核有:
1、IE内核(Trident):代表浏览器有 IE浏览器;
2、Firefox内核(Gecko):代表浏览器Mozilla Firefox火狐浏览器;
3、Webkit(Chrome内核原型,开源):代表浏览器Safari浏览器、Android 默认浏览器;
4、Blink:在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。
参考链接:
综上,从浏览器内核上来讲,我们主要会在IE、Chrome、FireFox这三个典型的浏览器上进行测试。另外,部分浏览器的新版本是“双核"甚至是"多核",其中一个内核是IE内核(Trident),然后再增加一个其他内核。国内的厂商一般把其他内核叫做"高速浏览模式",而IE内核(Trident)则是"兼容浏览模式",用户可以来回切换。比如360极速浏览器(7.5之前为Trident+Webkit,7.5为Trident+Blink)。还有,微软在Windows10推出的内置浏览器Microsoft Edge,新的Edge浏览器将从 EdgeHTML 内核迁移为 Chromium 内核。
二、Charles浏览器抓包
1、启动Charles,默认会打开Windows Proxy,进行网络请求的抓取;
2、IE浏览器抓包:Charles启动后,默认打开代理,可以直接进行抓包;
3、Chrome浏览器抓包:默认使用Windows代理,可以直接进行抓包;
4、Firefox浏览器抓包:需要手动打开浏览器的代理设置,才可以进行Charles抓包;
5、360浏览器抓包:默认使用Windows代理,可以直接进行抓包;
6、Edge浏览器抓包:默认使用Windows代理,可以直接进行抓包;
如何使用Charles抓包并分析Http报文
使用Charles抓包并分析Http报文的解决办法
从Web安全的攻击防御方面来说,最多接触的应该就是Http协议了,当我们作为中间人(man-in-the-middle)查看到所有浏览器到web服务器的http报文的时候,一切就都有意思起来。
比如,分析某电商在交易支付的时候请求了哪些东西,分析某网站的登录流程都请求了哪些数据,分析某社交软件有没有偷偷的上传隐私数据等等,甚至可以拿到Https加密过的请求哦!
如果我是黑客,分析过后也许就会通过工具篡改伪造请求报文,欺骗服务器,从而实现某些恶意行为,比如撞库、刷单、撸羊毛、恶意爬虫爬取数据等等。那么,如何快速有效的抓取http数据包并进行分析呢,这里推荐一个跨平台抓包神器—Charles。
charles是一个图形界面可视化的代理形式(HTTP,SOCKS,SSL/HTTPS)的抓包工具,它提供对HTTP,SSL/HTTPS协议下通过同一个路由器下的设备的数据交流分析,包括各种HTTP请求和响应信息,charles目前只支持抓到部分socket的数据。
如何使用Charles抓包
第一、HTTP抓包
1、打开Charles程序
2、查看Mac电脑的IP地址,系统偏好设置-网络就可以查看到了,比如我的ip地址是:192.168.1.7
3、打开iOS设置,进入当前wifi连接(Mac在一个局域网内),设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.1.7,端口填8888:
4、iOS设备打开你要抓包的app进行网络操作
5、Charles弹出确认框,点击Allow按钮即可
安卓编程Volley框架发送post数据。php端$_POST接收不到数据,返回数据正常!
确定安卓端确实发送了数据-可以使用青花瓷Charles进行抓包查看。
确定php端写的代码没有问题-可以使用PostMan构造Post请求看看能不能接收到数据。
检查content-type头信息的类型
1.检查头信息content-type是不是为“content-type:application/x-www-form-urlencoded" 这种传输是以表单的方式提交数据php使用$_POST方式接受。
2.如果头信息content-type是不是为“content-type:application/json"这种传输是以json方式提交数据,php需要使用file_get_contents("php://input")获取输入流的方式接受