什么是抓包?

Posted sunmengting0123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是抓包?相关的知识,希望对你有一定的参考价值。

一、什么是抓包?

抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。

二、抓包做什么?

不管做什么事情,首先要有明确的目的,其次是要清除能力的范畴,最后是要有清晰的思路。原始数据——过滤——分析,这时数据处理的基本套路,抓包的目的就是为了获取想要的原始数据,拿到数据以后,我们就可以做以下一些事情:

分析数据传输协议。

定位网络协议的问题。

从数据包中获取想要的信息。

将截取到的数据包进行修改,伪造,重发。

三、为什么抓包?

1、从功能测试角度,通过抓包查看隐藏字段

web表单中会有很多隐藏的字段,这些隐藏字段都有一些特殊的用途,比如收集用户的数据,预防CRSF攻击,防网络爬虫,以及一些其他用途。这些隐藏字段在界面上都看不到,如果想检测这些字段,就必须要使用抓包工具。

2、通过抓包工具了解协议内容,方便开展接口和性能测试

性能测试方面,性能测试其实就是大量模拟用户的请求,所以我们必须要知道请求中的协议内容和特点,才能更好的模拟用户请求,分析协议就需要用到抓包工具;

接口测试方面,在接口测试时,虽然我们尽量要求有完善的接口文档。但很多时候接口文档不可能覆盖所有的情况,或者因为文档滞后,在接口测试过程中,还是需要借助抓包工具来辅助我们进行接口测试。

3、需要通过抓包工具,检查数据加密

安全测试方面,我们需要检查敏感数据在传输过程中是否加密,也需要借助抓包工具才能检查。

4、处理前后端bug归属之争

在我们提交Bug的时候,经常会出现前端(客户端展示)和后端(服务端的逻辑)的争议,那么可以通过抓包工具,确定是数据传递问题还是前端显示问题,如果抓出来的数据就有问题的话,那么一般是后端的问题;如果抓取出来的数据是正确的,那么基本上可以判断是前端问题。

四、抓包的抓用?

通过抓包分析,可以更好的理解整个系统。

经常使用抓包工具辅助测试,可以很好的了解整个系统,比如数据传输过程前后端的关系,以及整个系统的结构。特别是对现在的微服务架构的产品,抓包能够更好的梳理和掌握整个系统各个服务之间的关系,大大增加测试的覆盖度。另外还可以增进对代码、HTTP协议方面知识的理解。

五、常用抓包工具

1、httpwatch

httpwatch与IE和Firefox浏览器集成,但不支持chrome;httpwatch界面清晰直观,发送请求后可以快速简单的查看cookies、headers、Query Strings and data,能够通过页面分组处理多页面场景。

2、Fiddler

Fiddler是一个独立的应用,可以调试PC、Mac、Linux、移动设备的之间的通信,支持大部分框架,如Java、.net、Ruby,需要设置代理。

3、wireshark

wireshark是一款专业的通过抓取网络数据包进行网络监测,网络协议分析工具,可以实时监测网络传输数据,全面透视整个网络的动态信息。

4、firebug

Firebug是Firefox下的一个扩展,它除了能进行网络分析还能够调试所有网站语言,如js、html、css等,支持各种浏览器如IE、Firefox、opera、safari。​

Fiddler 抓包基本操作(实操篇)

参考技术A 抓包开关:

默认处于抓包状态,左下角点击capturing,可以禁止抓包。再次点击实现抓包的状态切换。

数据查看:

数据包列表:展示请求的结果码,协议,主机,url等简要信息。

数据包详情:

编辑请求:

1. 从请求列表中拖过来一个请求到composer页签中,如序号为35的请求:

2. 对请求的header或body等进行编辑,

3. 点击execute,发送编辑后请求

4. 可在请求列表中查看发送的新请求

断点调试:

▲ Rules-automatic breakpoints:

Before requests:agent拦截下请求数据,可以查看、编辑请求数据

After response:agent拦截响应数据,可以查看、编辑响应数据

Disable:不进行调试

获取响应后中断,运行直到结束

自动响应:

即Mock server,模拟server返回一个响应数据

1. 勾选enable rules开关,并设置不匹配内容直接通过

2. 设置规则,可以选择精确匹配或正则匹配

3. 设置响应内容,并保存

4. 清除缓存,发送请求,查看结果

抓https包设置:

1. 安装证书生成器:fiddlercertmaker.exe,直接安装即可,重启fiddler

2. Fiddler设置:

▲ tools-options-https:

第一次操作时,有提示信息,点击确认即可

3. Fiddler导出证书:

信任证书:Tools-Options-HTTPS-Actions-Trust root certificate

导出证书:Tools-Options-HTTPS-Actions-Export certificate to desktop

4. 浏览器中导入证书,不同浏览器操作不尽相同

5. 重启fiddler

以上是关于什么是抓包?的主要内容,如果未能解决你的问题,请参考以下文章

fiddler charles postman

抓包工具都有啥

mitmproxy的简单使用

抓包-Fiddler

抓包工具是啥意思?可以干啥用的?

pycharm是常用的抓包工具吗