网络层抓包用wireshark,***开发,相比较java开发的burp更具有跨平台优势。
使用具体方法细节就不说了,玩抓包都是搞技术的,谷歌上搜索教程到处都是。题主说的定位问题范围太大,不好解答,直接说说心得吧。
1、wireshark其实也能看到http的数据,有时候简单的问题排查,用wireshark足够。比如三次握手有没有建立起来,是否存在丢包,比如http内容是否符合预期,中间有没有被篡改。有个比较常用的筛选规则可以模糊匹配到http里面的内容:
tcp contains “toutiao.com”
2、当然很多时候用wireshark不是看http,主要看ISO四层的数据包是怎么通信的。还有一个常用操作,追踪一个数据包的流,甭管TCP,UDP,都能自动化筛选出来
3、https在wireshark下就无能为力,而现在不管是web还是app抓包,基本都是https,轮到burp上场了。burp能看https的原理类似于中间人攻击,只不过是咱主动设置的,技术没有好坏,关键是使用技术的人。浏览器或者手机导入并且信任burp公钥,让客户端相信burp就是目标站点,正常点击后,burp代理拦截到https加密的数据,解密展示到burp前端,然后burp充当客户端,与服务端交互,再加密发送给真实的目标站点。
4、burp支持对抓取的http/https请求报文修改进行重放,也支持拦截修改后进行发送,看需求,验证那种图片或者短信验证码一次性接口还是用拦截模式吧。下面是repeater修改请求看响应的地方,很方便:
5、burp甚至还能用作api接口的压测工具,可以设置发送线程进行,并发的payload可以是原始的,也可以用字典规则进行fuzz。功能反正很强大,有些我都没用过。下面的图设置线程的:
以上都是一个字一个字手机打出来的,电脑截了几张图,说这些主要还是要给看的人有个直观感受。解决bug最关键当然是复现bug,而且网络问题又特别复杂,有时候能复现有时候不能复现,搞技术的都是无神论者,出问题必有原因。曾经出现过只有很少的客户会出现问题,绝大多数客户一切正常,我在海量抓包文件中找了三天三夜的bug,定位出问题的心情还是很激动的。
fiddler的使用:抓包定位、模拟弱网
一、fiddler抓包定位
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(COOKIE,html,js,css等)。
下面这张图准确的描述了fiddler的工作
那怎么抓包呢?
打开fiddler便已经开始抓包了,先介绍一下工具:看下图
如果需要抓取https的请求需要安装证书、如果需要抓取手机App的请求需要设置代理,这里我不细说自行百度
抓包定位bug:
1、因为fiddler抓取的内容会有很多,所以我们抓包前需要先清空所有会话内容(清除按钮在快捷键的黑色的X按钮)或者直接过滤操作过滤在这里不细说(下次会专门写个fiddler过滤);
2、客户端开始重现bug操作,fiddler就会抓取到操作过程中发送的所有请求。回到fiddler,可以看到回话列表Result会有4xx或5xx状态的请求,这是就可以根据判断双击报错的请求,在右侧查看请求参数和返回内容,判断前后端问题(如果不会判断,可以直接截图给开发)
二、模拟弱网
可以直接运用fiddler配置好的弱网进行测试:快捷键栏—-> Rules —> Performance —->simulate Modem Speeds
勾选了simulate Modem Speeds 按钮就开始模拟弱网了,当然我们肯定希望自己来配置网络来实现不同网络状态下的模拟操作,所以请继续往下看:
1、在请求栏上找到FiddlerScript按钮并点击搜索m_SimulateModem
2、找到
第一个是上行速率,第二个是下行速率(看不懂自行翻译)
这里就可以自己改网速了,若是不知道网速该怎么改参照下图(借了一张图):
本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/phone/30597.html