Pinpoint(一)基本概念和安装部署

article/2025/8/23 16:14:46

Pinpoint是韩国人编写的 APM 系统,是一个分析大规模分布式系统的平台,并提供处理大量跟踪数据的解决方案。

1. 特点

  • 分布式事务追踪,跟踪跨分布式应用的消息
  • 自动检测应用拓展
  • 水平扩展,以便支持大规模服务器集群
  • 提供代码级了践行,便于定位失败点和瓶颈
  • 提供字节码增强技术,添加新功能无需修改代码

2. 优势

  • 非侵入式:使用字节码增强技术,添加新功能无需修改代码
  • 资源消耗小:对性能影响最小(资源使用量增加约3%)

3. 架构设计

3.1 模块划分

  • HBase:主要用于存储数据
  • Pinpoint Collector:部署在 Web 容器上
  • Pinpoint Web:部署在 Web 容器上
  • Pinpoint Agent:附加到用于分析的 Java 应用程序

流程:首先通过 agent 收集调用应用的数据,将数据发送到 collector,collector 通过处理和分析数据,最后存储到 HBase 中,可以通过 Pinpoint Web UI 查看已经分析好的调用分析数据。

3.2 数据结构

  • Span:RPC 跟踪的基本单位,表示 RPC 到达时处理的工作,包含跟踪数据。Span 将子项标记未 SpanEvent,作为数据结构,每个 Span 包含一个 TraceId
  • Trace:一系列跨度,由相关的 RPC(Span) 组成。同一跟踪中的跨距共享相同的 TransactionId。Trace 通过 SpanIds 和 ParentSpanIds 排序为分层树结构
  • TraceId:由 TransactionId、SpanId、ParentSpanId 组成的秘钥集合。TransactionId 代表消息id,SpanId 和 ParentSpanId 表示 RPC 父子关系
TransactionId:来自单个事务的分布式系统发送、接收的消息id,必须在整个服务器组是全局唯一的
SpanId:接收 RPC 消息时处理的作业 ID,是在 RPC 到达节点时生成的
ParentSpanId:生成 RPC 的父 span 的 spanId,如果节点是事务的起始点,不会有父跨度。

4. 安装部署

4.1 依赖包

  1. jdk8 --- Java运行环境
  2. hbase-1.0 --- 数据库,用来存储监控信息
  3. tomcat8.0 --- Web服务器
  4. pinpoint-collector.war --- pp的控制器
  5. pinpoint-web.war --- pp展示页面
  6. pp-collector.init --- 用来快速启动pp-col,不要也可以
  7. pp-web.init --- 用来快速启动pp-web,不要也可以

4.2 安装JDK

略过~

4.3 安装HBase

pinpoint收集来的测试数据,主要是存在Hbase数据库的。所以它可以收集大量的数据,可以进行更加详细的分析。 

4.3.1 修改HBase的配置信息

vi hbase-site.xml# 在结尾修改成如下,这里我们指定Hbase本地来存储数据,生产环境将数据建议存入HDFS中。hbase.rootdirfile:///data/hbase

4.3.2 启动HBase

cd /data/service/hbase/bin
./start-hbase.sh# 查看Hbase是否启动成功,如果启动成功的会看到"HMaster"的进程
[root@localhost bin]# jps
12075 Jps
11784 HMaster

4.3.3 初始化HBase的pinpoint库

# 执行pinpoint提供的Hbase初始化语句,这时会初始化一会。
./hbase shell /home/pp_res/hbase-create.hbase# 执行完了以后,进入Hbase
./hbase shell# 进入后可以看到Hbase的版本,还有一些相关的信息
2016-11-15 01:55:44,861 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using built
in-java classes where applicableHBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 1.0.3, rf1e1312f9790a7c40f6a4b5a1bab2ea1dd559890, Tue Jan 19 19:26:53 PST 2016hbase(main):001:0># 输入"status 'detailed'"可以查看刚才初始化的表,是否存在
hbase(main):001:0> status 'detailed'
version 1.0.3
0 regionsInTransition
master coprocessors: []
1 live serverslocalhost:50887 1478538574709requestsPerSecond=0.0, numberOfOnlineRegions=498, usedHeapMB=24, maxHeapMB=237, numberOfStores=626, numberOfStorefiles=0, storefileUncom
pressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0, readRequestsCount=7714, writeRequestsCount=996, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, coprocessors=[MultiRowMutationEndpoint]        "AgentEvent,,1478539104778.aa1b3b14d0b48d83cbf4705b75cb35b7."numberOfStores=1, numberOfStorefiles=0, storefileUncompressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0,
readRequestsCount=0, writeRequestsCount=0, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, completeSequenceId=-1, dataLocality=0.0
...

访问 http://192.168.245.134:16010/master-status查看是否初始化成功

HbaseWeb

4.4 安装pinpoint-collector

4.4.1 部署war包

# 解压Tomcat,将Tomcat重命名移动到指定位置
cd /home/pp_res/
tar -zxvf apache-tomcat-8.0.36.tar.gz
mv apache-tomcat-8.0.36/ /data/service/pp-col# 修改pp-col的Tomcat的配置,主要修改端口,避免与pp-web的Tomcat的端口冲突。我在原本默认的端口前都加了1,下面是替换的shell命令。
#【注意】最后一条是将tomcat的私有ip开放,需要将localhost替换成本机的ip,我本机的网卡是默认的,如果你本机的网卡不是eth0,需要进行相关的修改。或者直接用"vi"进去,修改localhost
cd /data/service/pp-col/conf/
sed -i 's/port="8005"/port="18005"/g' server.xml
sed -i 's/port="8080"/port="18080"/g' server.xml
sed -i 's/port="8443"/port="18443"/g' server.xml
sed -i 's/port="8009"/port="18009"/g' server.xml
sed -i 's/redirectPort="8443"/redirectPort="18443"/g' server.xml
sed -i "s/localhost/`ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'`/g" server.xml# 部署pinpoint-collector.war包
#【注意:如果没有unzip命令,可以 "yum install unzip" 】
cd /home/pp_res/
rm -rf /data/service/pp-col/webapps/*
unzip pinpoint-collector-1.5.2.war -d /data/service/pp-col/webapps/ROOT# 启动Tomcat
cd /data/service/pp-col/bin/
./startup.sh# 查看日志,是否成功启动
tail -f ../logs/catalina.out

4.4.2 配置快速启动

# 配置快速启动需要修改pp-collector.init的路径( pp-collector在网盘里面有 ),可以"vi"进去,大概在18,24,27行处,修改相关的路径。我这边为了方便,直接就用替换的shell做了,如果路径与我的不一致,需要将路径修改成自己的路径。
cd /home/pp_res
sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk17\//g" pp-collector.init
sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-collector\//CATALINA_HOME=\/data\/service\/pp-col\//g" pp-collector.init
sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-collector\//CATALINA_BASE=\/data\/service\/pp-col\//g" pp-collector.init# 将文件赋予"执行"的权限,把它放到"init.d"中去。以后就可以restart快速重启了。
chmod 711 pp-collector.init
mv pp-collector.init /etc/init.d/pp-col# 测试一下restart
[root@localhost pp_res]# /etc/init.d/pp-col restart
Stoping Tomcat
Using CATALINA_BASE:   /data/service/pp-col/
Using CATALINA_HOME:   /data/service/pp-col/
Using CATALINA_TMPDIR: /data/service/pp-col//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-col//bin/bootstrap.jar:/data/service/pp-col//bin/tomcat-juli.jarwaiting for processes to exitStarting tomcat
Using CATALINA_BASE:   /data/service/pp-col/
Using CATALINA_HOME:   /data/service/pp-col/
Using CATALINA_TMPDIR: /data/service/pp-col//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-col//bin/bootstrap.jar:/data/service/pp-col//bin/tomcat-juli.jar
Tomcat started.
Tomcat is running with pid: 22824

4.5 安装pinpoint-web

4.5.1 部署war包

# 解压Tomcat,将Tomcat重命名移动到指定位置
cd /home/pp_res/
tar -zxvf apache-tomcat-8.0.36.tar.gz
mv apache-tomcat-8.0.36/ /data/service/pp-web# 修改pp-web的Tomcat的配置,主要修改端口,避免与pp-col的Tomcat的端口冲突。我在原本默认的端口前都加了2,下面是替换的shell命令
#【注意】最后一条是将tomcat的私有ip开放,需要将localhost替换成本机的ip,我本机的网卡是默认的,如果你本机的网卡不是eth0,需要进行相关的修改。或者直接用"vi"进去,修改localhost
cd /data/service/pp-web/conf/
sed -i 's/port="8005"/port="28005"/g' server.xml
sed -i 's/port="8080"/port="28080"/g' server.xml
sed -i 's/port="8443"/port="28443"/g' server.xml
sed -i 's/port="8009"/port="28009"/g' server.xml
sed -i 's/redirectPort="8443"/redirectPort="28443"/g' server.xml
sed -i "s/localhost/`ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'`/g" server.xml# 部署pinpoint-collector.war包
#【注意:如果没有unzip命令,可以 "yum install unzip" 】
cd /home/pp_res/
rm -rf /data/service/pp-web/webapps/*
unzip pinpoint-web-1.5.2.war -d /data/service/pp-web/webapps/ROOT# 查看war包是否解压成功
[root@localhost conf]# ll /data/service/pp-web/webapps/ROOT/WEB-INF/classes/
total 88
-rw-rw-r--. 1 root root 2164 Apr  7  2016 applicationContext-cache.xml # 这些 *.xml 文件在后续的调优工作中会用到。
-rw-rw-r--. 1 root root 3649 Apr  7  2016 applicationContext-dao-config.xml
-rw-rw-r--. 1 root root 1490 Apr  7  2016 applicationContext-datasource.xml
-rw-rw-r--. 1 root root 6680 Apr  7  2016 applicationContext-hbase.xml
-rw-rw-r--. 1 root root 1610 Apr  7  2016 applicationContext-websocket.xml
-rw-rw-r--. 1 root root 6576 Apr  7  2016 applicationContext-web.xml
drwxrwxr-x. 2 root root 4096 Apr  7  2016 batch
-rw-rw-r--. 1 root root  106 Apr  7  2016 batch.properties
drwxrwxr-x. 3 root root 4096 Apr  7  2016 com
-rw-rw-r--. 1 root root  682 Apr  7  2016 ehcache.xml
-rw-rw-r--. 1 root root 1001 Apr  7  2016 hbase.properties # 配置我们pp-web从哪个数据源获取采集数据,这里我们只指定Hbase的zookeeper地址。
-rw-rw-r--. 1 root root  153 Apr  7  2016 jdbc.properties # 连接自身Mysql数据库的连接认证配置。
-rw-rw-r--. 1 root root 3338 Apr  7  2016 log4j.xml
drwxrwxr-x. 2 root root 4096 Apr  7  2016 mapper
-rw-rw-r--. 1 root root 1420 Apr  7  2016 mybatis-config.xml
drwxrwxr-x. 3 root root 4096 Apr  7  2016 org
-rw-rw-r--. 1 root root  630 Apr  7  2016 pinpoint-web.properties # 这里pp-web集群的配置文件,如果你需要pp-web集群的话。
-rw-rw-r--. 1 root root  141 Apr  7  2016 project.properties
-rw-rw-r--. 1 root root 3872 Apr  7  2016 servlet-context.xml
drwxrwxr-x. 2 root root 4096 Apr  7  2016 sql # sql目录 pp-web本身有些数据需要存放在MySQL数据库中,这里需要初始化一下表结构。# 启动Tomcat
cd /data/service/pp-web/bin/
./startup.sh# 查看日志,Tocmat是否启动成功
tail -f ../logs/catalina.out# 日志中出现下面这句话,说明已经启动成功了
org.apache.catalina.startup.Catalina.start Server startup in 79531 ms# 这时候我们可以访问一下这个地址,在浏览器中输入"http://192.168.245.136:28080",就会出现主页面了
# 如果访问不了的话,关闭防火墙
[root@localhost conf]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

在浏览器中输入"http://192.168.245.136:28080",就会出现主页面了

pp-web

4.5.2 配置快速启动

# 需要修改"pp-web.init",与上面的步骤一致
cd /home/pp_res
sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk17\//g" pp-web.init
sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-web\//CATALINA_HOME=\/data\/service\/pp-web\//g" pp-web.init
sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-web\//CATALINA_BASE=\/data\/service\/pp-web\//g" pp-web.init# 将文件赋予"执行"的权限,把让放到"init.d"中去。以后就可以restart快速重启了。
chmod 711 pp-web.init
mv pp-web.init /etc/init.d/pp-web# 测试一下restart
[root@localhost pp_res]# /etc/init.d/pp-web restart
Stoping Tomcat
Using CATALINA_BASE:   /data/service/pp-web/
Using CATALINA_HOME:   /data/service/pp-web/
Using CATALINA_TMPDIR: /data/service/pp-web//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-web//bin/bootstrap.jar:/data/service/pp-web//bin/tomcat-juli.jarwaiting for processes to exitStarting tomcat
Using CATALINA_BASE:   /data/service/pp-web/
Using CATALINA_HOME:   /data/service/pp-web/
Using CATALINA_TMPDIR: /data/service/pp-web//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-web//bin/bootstrap.jar:/data/service/pp-web//bin/tomcat-juli.jar
Tomcat started.
Tomcat is running with pid: 22703

4.6 部署pinpoint-agent采集监控数据

在应用系统中集成pinpoint-agent就很简单了。

4.6.1 配置pinpoint-agent采集器

# 解压pp-agent
cd /home/pp_test
tar -zxvf pinpoint-agent-1.5.2.tar.gz
mv pinpoint-agent-1.5.2 /data/pp-agent# 编辑配置文件
cd /data/pp-agent/
vi pinpoint.config# 主要修改IP,只需要指定到安装pp-col的IP就行了,安装pp-col启动后,自动就开启了9994,9995,9996的端口了。这里就不需要操心了,如果有端口需求,要去pp-col的配置文件("pp-col/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties")中,修改这些端口
profiler.collector.ip=192.168.245.136

4.6.2 启动服务

参数解释:

  • -Dpinpoint.agentId:表示 agent 的唯一标识
  • -Dpinpoint.applicationName:表示用用名称

eureka

java -javaagent:/usr/local/src/pinpoint/soft/eureka/pinpoint-agent-1.7.3/pinpoint-bootstrap-1.7.3.jar -Dpinpoint.agentId=eureka-server -Dpinpoint.applicationName=eureka-server -jar spring-cloud-eureka-server-simple-0.0.1-SNAPSHOT.jar

provider

java -javaagent:/usr/local/src/pinpoint/soft/eureka/pinpoint-agent-1.7.3/pinpoint-bootstrap-1.7.3.jar -Dpinpoint.agentId=provider -Dpinpoint.applicationName=provider -jar spring-cloud-apm-skywalking-provider-0.0.1-SNAPSHOT.jar

consumer

java -javaagent:/usr/local/src/pinpoint/soft/eureka/pinpoint-agent-1.7.3/pinpoint-bootstrap-1.7.3.jar -Dpinpoint.agentId=consumer -Dpinpoint.applicationName=consumer -jar spring-cloud-apm-skywlaking-consumer-0.0.1-SNAPSHOT.jar

zuul

java -javaagent:/usr/local/src/pinpoint/soft/eureka/pinpoint-agent-1.7.3/pinpoint-bootstrap-1.7.3.jar -Dpinpoint.agentId=zuul -Dpinpoint.applicationName=zuul -jar spring-cloud-apm-skywalking-zuul-0.0.1-SNAPSHOT.jar -Xms256m -Xmx256m

成功启动后,访问 pinpoint:http://192.168.67.136:28080/#/main

切换到 zuul 选项卡:

红色代表调用失败(第一次调用时需要从 eureka 获取数据,默认超时一秒)。数字代表调用次数。

Inspector:检查器,可以查看服务的调用信息。点击查看:

Inspector 中,Timeline 选项卡显示请求时间段,information 选项卡显示当前节点启动的信息,包括:应用名、agentId、启动时间等,Heap Usage 显示堆使用情况,JVM/System Cpu Usage 显示 CPU 使用情况,Active Thread 显示线程使用情况。Response Time 显示响应时间,Data Source 显示数据库使用情况。


http://chatgpt.dhexx.cn/article/SYN6YR17.shtml

相关文章

全链路监控之pinpoint

一、pinpoint出现与其他相似概念比较 (1)、pinpoint概念 pinpoint是由java/PHP编写而成的,用来对大规模的分布式系统提供应用性能管理。pinpoint可以解决复杂架构下的拓扑解析与性能分析。 (2)、pinpoint的特点 分布…

APM链路监控:pinpoint安装部署实战详细手册

文章目录 一、pinpoint介绍1.pinpoint简介2.架构组成 二、安装环境准备三、HBase单机安装四、pinpoint安装1.安装pinpoint-collector2.安装pinpoint-web3.安装pinpoint-agent 五、pinpoint优化1.collector日志输出级别优化2.Hbase GC优化(jdk1.8) 结尾 一…

pinpoint使用详解(图文版)

pinpoint使用详解 用了一段时间的pinpoint发现确实挺好用的,就是功能超级多,大概整理了一下各功能的使用用法 1.首页 2.查看应用详细信息 2.1点击查看单个信息 2.2查看应用更详细信息 3.查看详细数据 错误的信息会用红色显示,可以查看错误…

synology 群晖 syslog

群晖真是太强大了,居然还有syslog功能。而且配置非常简单。在日志中心-》接收日志中就可以非常容易的配置。 以后在不方便调试的场合,就可以直接把调试信息发送到我的群晖服务器,打开看看就知道问题所在了 syslog

linux syslog原理,Linux日志管理之詳解 syslog/vsyslog

1、syslog簡介 syslog 是一種工業標准的協議,可用來記錄設備的日志。在UNIX系統,路由器、交換機等網絡設備中,系統日志(System Log)記錄系統中任何時間發生的大小事件。管理者可以通過查看系統記錄,隨時掌握系統狀況。UNIX的系統日志是通過syslogd這個進程記錄系統有關事件…

syslog RFC5424协议详解

官方说明 一个很不错的rfc文档下载网址。 Document Retrieval RFC Editor RFC 5424: The Syslog Protocol 6. Syslog Message FormatThe syslog message has the following ABNF [RFC5234] definition:SYSLOG-MSG HEADER SP STRUCTURED-DATA [SP MSG]HEADER …

kiwi syslog mysql_KIWI Syslog配置

默认地,kiwi使用UDP 514端口接收日志数据,安装成功后即可接收日志 使用命令netstat –ano查看服务器监听状态,如果服务没起来,则重新启动服务Kiwi Syslog Daemon 任务:把当天的日志保存在G:\event,历史日志保存在G:\eventold,自动删除1一个月前的日志记录 第一步:新建规…

oracle 发syslog,Syslog转发管理

Syslog转发管理 网络设备会生成各种事件,这些事件在本地记录,管理员可以在其中查看和分析事件。但是,如果您的网络托管大量设备,则从这些设备中的每一个收集事件日志将既耗时又不切实际。 Syslog或系统日志记录协议是一种标准协议,可通过将系统日志或事件消息发送到中央sy…

syslog watcher syslog4j

1.下载syslog watcher SyslogWatcherSetup-5.2.3.msihttps://www.aliyundrive.com/s/8C6Cw7RuyUV2.设置编码 3.java&#xff1a; <dependency><groupId>org.syslog4j</groupId><artifactId>syslog4j</artifactId><version>0.9.46</ve…

python syslog

最近在写一些命令行守护程序&#xff0c;类似于 Linux 下的一些常运行的程序&#xff0c;除了用到一些常见的IO 以及进程间通信的内容之外&#xff0c;还尝试了一下 Unix 系列的 syslog&#xff0c;在尝试过程中&#xff0c;发现 Python 已经在 logging 模块中很方便得集成了 s…

linux syslog

linux syslog 1. syslog 定义1.1 RFC3195 2. syslog 组成3. syslog配置3.1 3CD 配置syslog 日志服务器 4. syslog api4.1. c api 代码示例&#xff1a;4.2 syslog 例子2&#xff1a; 1. syslog 定义 在Unix类操作系统上&#xff0c;syslog广泛应用于系统日志。syslog日志消息既…

Syslog 教程:工作原理、示例、最佳实践等

Syslog 是用于从各种网络设备以特定格式发送和接收通知消息的标准。这些消息包括时间戳、事件消息、严重性、主机 IP 地址、诊断等。就其内置的严重性级别而言&#xff0c;它可以传达 0 级、紧急、5 级、警告、系统不稳定、严重和 6 级和 7 级&#xff08;信息和调试&#xff0…

关于fidder

fidder教程 https://www.cnblogs.com/R-bear/p/7508133.html fidder抓包工具总结 https://www.cnblogs.com/yyhh/p/5140852.html 从别人那里截了几张图。觉得写的挺好的&#xff0c;保存下来&#xff0c;日后复看。

Python fidder的简单实用

Fidder 对中间数据进行拷贝 然后再发送给服务器 Winconfig->勾选IE->浏览IE->一点一拖看数据(选项卡定位到composer)

Fidder下载安装

一、登录Fidder官网&#xff1a;https://www.telerik.com/fiddler 二、在Fidder官网页点击下载 三、输入信息&#xff0c;点击下载windows版 四、对于弹出的Fidder可执行文件&#xff0c;点击“保存文件”进行下载 五、执行下载好的Fidder可执行程序&#xff0c;在弹出的条款…

Fidder显示抓取IP地址

1.打开fiddler, 快捷键CtrlR 或者 菜单->Rules->Customize Rules…&#xff0c;然后在CustomRules.js文件里CtrlF查找字符串&#xff1a;static function Main()&#xff0c;然后添加一行代码即可显示IP&#xff0c;代码如下&#xff1a; FiddlerObject.UI.lvSessions.…

学习Fidder和willow

自学fidder和willow Fidder是什么 一种Web调试工具可以记录所有客户端和服务器的http和https请求允许监视、设置断点、修改输入输出数据其包含了一个强大的基于事件脚本的子系统&#xff0c;并且能使用.net语言进行扩展 Fidder的工作原理 Fiddler是以代理web服务器的形式工…

fidder classic 界面介绍

界面划分 开始抓包 &#xff08;1&#xff09;默认情况下都是开启的&#xff0c;点击下图可以关闭或开启抓包。 &#xff08;2&#xff09;点击“file”----“capture traffic”也可以开始抓包 菜单栏 重要的菜单栏 reset script 重置你修改的脚本&#xff1b;在rules里&…

Fidder下抓取https

1、首先需要手机连接上Fiddler代理&#xff0c;而Fiddler默认是不允许其他设备进行连接的&#xff0c;点击 Tools > Options...&#xff0c;在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接 点击 Tools > Options...&#xff0c;在 HTTPS 面…

fidder使用

前言 本文会对Fidder这款工具的一些重要功能&#xff0c;进行详细讲解&#xff0c;带大家进入Fidder的世界&#xff0c;本文会让你明白&#xff0c;Fidder不仅是一个抓包分析工具&#xff0c;也是一个请求发送工具&#xff0c;更加可以当作为Mock Server使用&#xff0c;而且可…