Fiddler抓包工具配置+Jmeter基本使用
一、Fiddler抓包工具的配置和使用
在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为例。会抓包的同学可以跳过这一步,当然看看也是没坏处的……
局域网络配置
将要进行抓包的手机与电脑连入同一局域网,电脑才能够抓到手机APP的请求,这里介绍一种我们在使用的网络配置方法。
首先使用电脑A布置一个我们抓包需要的局域网。下载猎豹WiFi(网上有很多这种工具360免费WiFi、百度WiFi等,随意下载一个就好,这里我们以猎豹WiFi为例),安装完后创建一个WiFi即可。
然后使用抓包的电脑B连接刚刚建立的WiFi,连接好后查看电脑B的IP地址。

用测试手机连接刚刚建立的WiFi,在局域网设置中将其代理改为电脑B的IP地址,端口号:8888,保存即可。

Fiddler配置
Fiddler的安装,在网上下载最新的版本就可以,这里给出一个我安装的4.5版本的链接http://sq.jd.com/bFPg1z ,下载安装,步骤就省略了,下一步..下一步即可。
安装完成后打开Fiddler,在菜单栏Tools->Fiddler Options->Connections,勾选Allow remote computers to connect,默认的端口号为8888,这里不需要修改,在修改手机代理设置时注意与这里一致。

因为我们所需要抓取的基本上都是京东到家有关的请求,所以我们可以设置只抓取我们所需要的请求,如图,选中右方Filters,在下方Hosts设置中选择Show only the follow Hosts,然后填入我们所需要抓取请求的Host,比如这里填入的是京东到家Android线上和预发布的Host。

到这里Fiddler的基本配置就完成了,接下来就可以开始抓包啦。
Fiddler抓包实例#
-
开启Fiddler,确定本机网络连接,查看本机IP、Fiddler端口号。
-
本机IP:192.168.191.2
Fiddler端口号:8888
-
手机连接同一局域网,设置代理。

-
打开手机京东到家应用,清空电脑Fiddler遗留抓取结果,点击如图所示按钮,点击第一个Remove all即可。

-
下拉刷新京东到家首页,抓取其HTTP请求。

分析Fiddler抓包数据。在右上方结果框中选择Inspectors->Raw即可看到请求的URL、Cookie和Host等有关信息。在右下方结果框中选择JSON就能看到请求返回的JSON字符串。这里的JSON字符串是我们判断请求是否成功的重要依据。

提示:在每次抓取时重复下步骤3中清空结果列表的操作,可以更容易地找到需要抓取的请求。
二、Jmeter的基本使用
Jmeter的安装配置
下载Jmeter。我们使用的Jmeter版本是2.1.3,大家可以在\\192.168.202.207\share\pengyun 中直接下载apache-jmeter-2.13.zip即可,里面已经安装了需要的jar包和插件。
安装JDK。Jmeter2.1.3需要安装JDK 6或以上版本,没有安装的同学记得安装,还是给大家一个链接吧,http://sq.jd.com/VaGwoP ,需要的同学可以下载,安装完成后配置环境变量即可,参考链接JDK安装与环境变量配置-百度经验 。
安装Jmeter。解压即可,无需多言。
第一个Jmeter脚本
这里很难对Jmeter做一个全面的介绍,而且我也只是了解了一些皮毛,所以就在实例中一一介绍吧,所有配置齐全之后,就开始我们的第一条脚本吧。下面的步骤说得比较详细,比较啰嗦,请勿急躁。
抓取需要的请求。这一步是在Fiddler中完成的,如果你是从头看到这的,那么这一步的内容就可以省略了。这里我们就以前面抓到的京东到家首页的请求为例。下图那个很重要的结果等会要用到。

运行Jmeter。在安装目录下的bin文件夹里打开jmeter.bat,后面的黑框能够输出一些断言结果。在右面的名称那里可以修改你要创建的测试脚本的名称,默认是测试计划。

创建线程组。测试计划右键选添加->Threads->线程组。

修改名称。修改线程组名称并不重要,根据自己的需要修改就行。由于我们执行脚本一般在需要的时候执行一次就可以,并不需要其他的配置,所以下方的线程属性就保持默认值即可(在进行压力测试的时候就需要进行配置了)。

添加HTTP请求。右键线程组选择HTTP请求。

填写HTTP请求相关信息。这一步是关键,需要根据步骤1中Fiddler里那段很重要的信息去填写。名称自行修改,Host、协议、请求方法、请求路径都能够在抓取到的信息中获取,拷贝过来就行。
注意:HTTP请求有GET和POST两种,不同的请求记得选择不同的请求方法!!!


添加Cookie管理器。右键线程组选择Cookie管理器。将抓取到的信息添加至Cookie管理器中。


添加结果树。到这里这条Case就算是编写完成了,在运行之前我们还需要添加一个结果树,来查看Case运行的结果。右键线程组选择查看结果树添加。

运行。在上方找到运行按钮运行即可。注意,如果有多个线程组或者多个HTTP请求,点击运行后都会全部一起运行。

结果分析。点击结果树即可查看运行结果,绿色为成功,红色为失败。在右边点击相应数据就能够看到返回的JSON字符串了。

这样我们的第一条Jmeter脚本就基本完成了,基本所有的HTTP请求都是大同小异,多练习写几条基本就能手到擒来了。结果树和Cookie管理器每个线程组添加一个就够用了。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
相关文章:
Fiddler抓包工具配置+Jmeter基本使用
一、Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为例。会抓包的同学可以跳过这一步,当然看看也是没坏处的…… 局域网络配置 将要进行抓包的手机与电脑连入同一局域网,电脑才能够抓到…...
IOTE 2023国际物联网展直击:芯与物发布全新定位芯片,助力多领域智能化发展
IOTE 2023国际物联网展,作为全球物联网领域的盛会,于9月20日在中国深圳拉开帷幕。北斗星通集团应邀参展,旗下专业从事物联网、消费类GNSS芯片研发设计的芯与物公司也随其亮相本届盛会。 展会上,芯与物展示了一系列创新的GNSS定位…...
【软件设计师-从小白到大牛】上午题基础篇:第二章 操作系统
文章目录 前言章节提要一、进程管理1、进程的状态2、前趋图3、进程的同步与互斥4、PV操作6、PV操作与前趋图7、死锁问题进程资源图(补充)真题链接 二、存储管理1、分区存储组织2、页式存储组织3、段式存储组织4、段页式存储组织5、快表6、页面置换算法单…...
【20230921】关于sing-box命令行程序开机自启动运行(Windows、Linux)
1 背景 sing-box是一个命令行程序,官网给出的教程是复制链接到Git Bash(windows)或终端运行(Linux)。每次开机都进行复制运行是一件繁琐的事情。 复制的内容其实就是下次并运行shell脚本,其实系统只需要运…...
LeetCode 75-02:字符串的最大公因子
前置知识:使用欧几里得算法求出最大公约数 func gcdOfStrings(str1 string, str2 string) string {if str1str2 ! str2str1 {return ""}return str1[:gcd(len(str1), len(str2))] }func gcd(a, b int)int{if b 0{return a}return gcd(b, a%b) }...
k8s1.19使用ceph14
一、静态 pv (rbd)方式 1、所有k8s节点安装依赖组件 注意:安装ceph-common软件包推荐使用软件包源与Ceph集群源相同,软件版本一致。 cat > /etc/yum.repos.d/ceph.repo << EOF [ceph] name=ceph baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_…...
Leetcode 50. Pow(x, n)
文章目录 题目代码(9.19 首刷看解析) 题目 Leetcode 50. Pow(x, n) 代码(9.19 首刷看解析) 快速幂 class Solution { public:double myPow(double x, int n) {if(n 0)return 1;if(n 1)return x;if(n INT_MIN) { // 避免-n整…...
hive分区表的元数据信息numRows显示为0
创建分区表 CREATE TABLE `dept_partition`(`deptno` int, `dname` string, `loc` string) PARTITIONED BY (...
Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C++)
Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C) Baumer工业相机Baumer工业相机的图像剪切(ROI)功能的技术背景CameraExplorer如何使用图像剪切(ROI)功…...
【云原生】聊聊为什么需要docker以及其基础架构
为什么需要docker 在没有docker之前,我们开发、测试、生产其实是根据不同的服务器进行配置的,很可能因为软件配置不同而导致的生产事故,那么如果能较好的解决软件和配置等封装成一个可运行的软件,无需关注配置,那么是…...
“高级前端开发技术探索路由的使用及Node安装使用“
目录 引言1. Vue路由的使用2. VueNode.js的安装使用总结 引言 在当今互联网时代,前端开发技术日新月异,不断涌现出各种新的框架和工具。作为一名前端开发者,我们需要不断学习和探索新的技术,以提升自己的开发能力。本文将深入探讨…...
LeetCode 494.目标和 (动态规划 + 性能优化)二维数组 压缩成 一维数组
494. 目标和 - 力扣(LeetCode) 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2…...
[36c3 2019]includer
[36c3 2019]includer 题目描述:Just sitting here and waiting for PHP 8.0 (lolphp). 首先来了解一下临时文件包含之PHP - compress.zlib:// 在 php-src 里可以找到和 compress.zlib:// 有关的代码 | code 注意到 STREAM_WILL_CAST,涉及到 cast 经常…...
Python150题day10
④continue练习 从列表 Ist [1,3,5,2,7,9,10] 中输出所有的奇数,代码如下 lst [1, 3, 5, 2, 7, 9, 10] for item in lst: if item % 2 0: continue print(item) 在上述代码中,当遇到偶数时,continue 语句会跳过当前迭代&…...
Autosar工具-Davinci Developer
文章目录 前言一、Davinci Developer简介二、导航栏File(主要是用于保存、打开工程等操作)HomeProject(主要用于导入、导出arxml文件)Graphic(主要在SWC设计时使用,包含对图形界面下的设计工具)Window(主要就是对我们的Dev界面外形修改用的,使得界面更加方便我们使用(比如隐…...
js中的数据结构:栈,队列,链表,字典哈希表,树
栈:先进后出 队列:先进先出 链表: 单链表: 双链表: 环形链表:最后一个数据的next指针不是指向null,指向的是任意之间的一个数据,形成一个环 数组和链表的区别: 字典和哈…...
Verdi实现信号的平移
在Verilog/System verilog中,# xxx可以实现延迟指定时间的功能,而在使用verdi查看信号波形并进行分析时,同样也可以实现类似的功能。 (注:这种信号平移是有其应用场景的,例如,在某些仿真模型中,…...
Leetcode算法入门与数组丨6. 数组双指针、滑动窗口
文章目录 1 双指针基础知识1.1 双指针简介1.2 左右指针(对撞指针)1.3 快慢指针1.4 分离双指针 2 滑动窗口基础知识2.1 滑动窗口算法介绍2.2 滑动窗口适用范围2.3 固定长度滑动窗口2.4 不固定长度滑动窗口 1 双指针基础知识 1.1 双指针简介 双指针&…...
推荐一本书《横向领导力》
大家好,这里是大话硬件。 今天想给大家推荐一本我近期正在阅读的书籍《横向领导力》。 这本书很早就买了,但是在去年就看了前面3章的内容,而且也没做笔记,仅仅是在书本上写写画画,也没有什么体会,感觉看不懂…...
React实战过程的知识了解
做项目用到react和antd,没办法循序渐进的学习,只能把一些点记录在这里,希望大家指正。 1.杂七杂八 正文 //actionRef,操作表单的预设方法,包括:刷新、重置所有项并刷新、重置到默认项、加载更多、清空选…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

