什么是抓包?为什么要抓包?
在软件测试和软件开发的过程中,经常会需要抓包,但是很多人其实不知道抓包到底是什么东西,以及具体的作用有什么?这里我带大家了解一下。
抓包其实抓的是数据包,英文是packet capturing,主要是在互联网设备传输数据的过程中去截获数据包,拿到响应信息的过程。
数据包里面一般包含源地址、目标地址、端口号、传输协议、数据内容、返回状态等等
抓包的作用主要是在分析网络连通情况,网络故障排查,网络安全检查,还可以用在python爬虫等等。
浏览器怎么抓包
打开界面
浏览器抓包十分简单,大多数浏览器,chrome,火狐,edge等等都可以通过F12打开开发者工具,打不开的去设置里面翻翻找找也是肯定可以打开的。打开之后页面如下,以我个人主页为例:
这里就是正常打开了界面,左右上角会有设置,需要自己设置一下中英文,初学者推荐中文,较好接受。
组件介绍
给大家介绍一下各个组件的用途,便于理解框架
元素/Elments查看器
用途:可以查看页面结构,html语言,可用于自动化脚本的元素定位,或页面元素分析(颜色,布局…)
用法:点击左上角箭头图标(快捷键Ctrl + Shfit + C)进入元素选择模式,可以直接在网页上选择自己需要查看的组件,开发者工具栏中会自动定位到代码位置。代码内容可更改,同步到网页上,但是改动只是暂时的。
网络Network
这是网络测试中最重要的一个模块,主要是进行问题的定位和分析,这里记录了前后端的交互。前后端交互主要是通过接口进行连接。目前国内的厂商基本都是前后端分离开发,之间的通信就是通过接口的方式进行通信和交流。接口是什么呢?这个之后会专门出一片文章进行讲解。
network里面会记录接口信息。
http请求:请求行,请求头,请求体
http响应:响应行,响应头,响应体
抓到的报文分析:
状态:
即http的响应状态码:
200(服务器收到我的请求并且给了我一个回应)
404(资源不存在或者地址给错了)
500 503(表明服务器有问题)
302 304 (重定向)
方法: http请求方法- get post put patch
域名:服务器的域名或者IP +端口
文件和类型: html、css、js 、png等
发起者:请求怎么发起的,比如script: 页面是由script脚本处理的时候发送的;
传输和大小:传输的文件及大小
详细报文内容:消息头,cookies, 请求,响应,耗时