我抓了一个包,你不想看看? 我抓了一大坨
zhezhongyun 2024-12-17 17:40 45 浏览
咱们平时在开发对接的时候,前端和后端都习惯使用浏览器F12大法,通过network一栏查看接口通信情况,到底是谁的锅立马就能弄清楚。
浏览器与后端服务通信的一切都能在这个窗口看的一清二楚,不管是网络连接失败,还是后端报错,抑或是跨域问题,乃至数据格式不对,通过这里,都能找到答案。
可如果我们要分析的程序不在浏览器里面,又如何能看到他们的网络通信呢?这个时候就需要抓包了。
抓包是咱们程序员必备的基础技能,通过捕获计算机网卡的数据,来系统而全面的分析流经网卡的通信流量。
今天就来介绍几个抓包的神器,介绍一些你可能不知道的功能。
Wireshark
Wireshark可以说是抓包界的一哥了,二十年的老牌子,你值得信赖。
Wireshark支持几乎你知道的和你不知道的全部通信协议的分析,TCP/IP整个家族就不说了,这是基本要求,就连像Redis、MySQL、Mongo、ES等等这些上层应用的协议都能给你安排的明明白白,这就厉害了。
Wireshark优秀的架构设计使得它可以非常轻松的增加扩展以应对不断出现的新的应用层协议。
这是Wireshark的主界面,除上面的工具栏外,从上到下分为三个区域:
数据包列表
数据包协议解析树
数据包原始数据
过滤
有时候一抓就是一大把数据,全部堆在一起,想要找到我们需要的,犹如大海捞针,这个时候你就需要过滤了。
在最上方,有一个搜索框,可以用来输入Wireshark的过滤表达式,比如我只想看其中的HTTP数据包,只需输入“http”即可。
你可以通过IP、端口、协议等多种组合式过滤,如下面的一些例子:
eth.src[0:3] == 00:00:83
ip.addr == 192.168.0.1
tcp.flags.syn == 1
tcp.port in {443 4430..4434}
http.request.uri == "https://www.wireshark.org/"
完整的过滤表达式语法规则请参考:
https://www.wireshark.org/docs/wsug_html/#ChWorkBuildDisplayFilterSection
会话
不同的人有不同的使用习惯,像我就不太喜欢上面图中那样所有数据包堆在一起,看起来非常的杂乱。
没关系,Wireshark提供了会话的分析视角,以会话的形式来将所有数据包分门别类,这一下清晰了不少。
通过菜单 统计(Statistics)-> 会话(Conversations)可以调出会话窗口:
从底层到上层,总共分了链路层会话、IPv4会话、IPv6会话、TCP会话、UDP会话总共5个tab页,从5个不同的维度进行会话分析。
下面的Follow Stream按钮,还可以详细展示这一个会话的所有通信内容:
会话内容用红色和蓝色两种颜色的字体来区分通信的双方,默认双方数据都进行了展示,你也可以过滤只展示某一方的通信内容:
协议树
协议树提供了另外一个维度来全局总览所有数据包,通过协议树,也可以快速定位到关注的数据包。
内容解码
Wireshark还有一个比较强大的功能:内容解码。
对于很多格式的数据,直接查看数据包原始内容是看不出个所以然的,比如压缩文件、图片文件等等,这个时候就需要能够对内容进行解码。
如下图所示,选定数据范围后,右键可选择:Show Packet Bytes···
该菜单选项显示数据包内容,弹出如下窗口:
上面是我之前的一次红包闯关活动的数据包,这是一段gzip压缩后的数据,我们可以先选择解码方式为Compressed:
可以看到,上面的数据内容变成了解压缩后的内容,.PNG开头表示这是一个PNG图片。接下来再在Show as菜单中选择图片,图片就能显示出来了!
可以看到,除了图片,还支持网页渲染、多种字符集解码等等。
科来网络分析系统
接下来给大家推荐另一个数据包分析神器:科来网络分析系统。
这是一家成都公司开发的抓包软件,也有近二十年的历史了,历经多个版本迭代,稳定靠谱!
相比Wireshark,这个软件纯中文界面,大量的可视化图表,更现代的UI展示,让大家学习计算机网络更加轻松,尤其是对新手小白而言,更容易上手。随意截了几个图,大家感受一下:
首页:
从协议、端点、流量的维度展示了一些全局统计信息。
数据包列表:
在展示数据包内容时,与Wireshark类似,也是分了数据包列表、数据包协议解析树状图、数据包十六进制原始数据。
协议树:
会话矩阵:
会话矩阵视图可以清晰的看到节点之间的通信关系。
进程关联通信流量:
将通信流量与各个进程相关联,可以很方便的关注目标程序的通信,不用在茫茫数据包中去搜寻。
TCP会话
重点给大家介绍一个TCP会话流的功能。
以往咱们大家在学习TCP协议的时候,各种文章给你介绍什么是三次握手、四次挥手、超时重传、拥塞控制、滑动窗口等等机制,还给你画一堆图展示。
这样好是好,但时间一久还是免不了会忘记,不过有了这个软件,妥了!
在TCP会话的视图界面,通过通信双方的交互时序图,可视化的呈现了TCP的通信双方数据包的来往通信详情。在这个视图下,什么三次握手四次挥手,还是超时重传都看的清清楚楚。
箭头的指向代表了数据包的方向,箭头上下之间的间距代表了数据包发送的时间间隔,不同的颜色代表了不同的数据包,正常的、异常的、有负载数据的都一清二楚,让你瞬间对这一个TCP通信会话的情况了然于心。
除了抓包,科来网络分析系统还支持非常多的数据格式,你可以在使用Wireshark、tcpdump等工具抓了包以后,导出文件在这个软件中打开分析,提升你数据分析的效率。
Fiddler
如今的互联网流量中,HTTP要说第二,估计没别的协议敢说第一。而随着时间推移,越来越多的HTTP升级为了HTTPS,据不权威渠道的数据,到2020年,互联网上超过70%+的HTTP流量都加密传输了,这对于网络安全不得不说是一件好事。
不过总有一些场景,我们需要看一下HTTPS传输的内容,而用上面两个抓包工具,抓下来的都是加密数据,想要获取明文内容,还得另辟蹊径。
接下来就是Fiddler登场的时候了!
Fidder解密HTTPS的原理其实很简单,就是通过设置代理服务器,自己作为中间人,使用自己的证书“冒充”服务器证书,从而骗过客户端。
那这HTTPS岂不是一点都不安全?先别急,能骗过客户端的前提是Fidder的证书得被系统信任,否则是过不了SSL/TLS的认证的,Fidder启动的时候会把自己的证书安装到操作系统中获得信任,因此可以解密当前电脑上自己的通信流量,所以放心,你的HTTPS流量不会那么容易被别人解密。
比如下面,我们打开百度的官网,在开启Fiddler之前和开启Fiddler之后证书的变化。
开启Fiddler之前:
开启Fiddler之后:
这个Fiddler证书可以在系统的全部根证书列表中找到:
抓手机App通信
除了抓电脑上通信的包,Fiddler还经常被用来抓取移动设备上的APP通信流量。
基本上绝大多数的APP都是用HTTPS来进行通信,只需要在手机上配置Fiddler为代理服务器,手机上的通信流量都能看的清清楚楚。
以安卓手机为例:
Fiddler运行的电脑和手机确保在同一个局域网下,在手机连接的WIFI网络中,可以使用高级功能设置代理:
配置完成,手机上任何APP的风吹草动,Fiddler都会源源不断的给你展示出来。
不过这一招也不是万能的,据我的实际测试,一些安全做的比较好的APP,比如微信,会检测到当前的HTTPS服务器证书有问题,部分功能会表现出跟平时不一样的现象。
甚至,还有的APP侦测到环境异常后,会把服务器的证书偷偷传到它的服务器去,至于传上去干啥,你猜?
好了,以上就是三款抓包工具的介绍了,你Pick谁呢?学会这三款抓包工具,你一定会是个抓包小能手~对于分析排查问题绝对大有裨益!
作者:轩辕之风
来源:编程技术宇宙(ID:xuanyuancoding)
相关推荐
- DNF无色流派还在继续,重力之泉龙战八荒测评
-
作者:礁石22222前言本篇为115级套装天天鉴栏目,来帮助各位读者对于新版本的装备有一个更清晰的认知。115级套装分为了稀有到太初5个品级,所有套装的稀有品级属性是一致的,从神器开始出现分歧。通过积...
- 《暗黑破坏神2重制版》常用符文之语P3
-
大家好我是游戏小白,继续补充一下《暗黑破坏神2重制版》常用的符文之语,主要给大家总结一下前期过渡常用符文之语。没看过之前关于符文之语总结的小伙伴可以翻翻前面的文章。1、钢铁符文之语钢铁造价极低但性价比...
- 魔兽怀旧服:P1一款法系BIS披风,获取方式隐蔽,需完成875个任务
-
在魔兽怀旧服WLK版本,依旧存在许多实用的制造业装备,特别是在P1阶段,制造业装备的耐用性和性价比是最高的,不仅可以帮助玩家快速过渡到团本,甚至还有个别制造业装备超越了团本掉落的强度,除了玩家近期讨论...
- 分手类型——过渡阶段
-
过度阶段一.内涵:类似于反复期,在这个阶段儿可能会出现两种可能性。1.感性想分手,但理性上舍不得。感性上我完全不想跟他相处,但理性上我又觉得他身上有很多对我有利的,对我未来有机会有利的东西。二.理性...
- 《最后的信仰》新手开局保姆级指南职业选择、属性加点与开荒策略
-
《最后的信仰》作为类魂动作游戏,开局选择直接影响开荒体验。本文针对新手玩家,从职业特性、属性分配到武器过渡,提炼高效开荒公式,助你避开陷阱,快速掌握战斗节奏。一、职业选择:斗士/盗贼优先,法系/...
- DNF回血秘方揭示,夏日前买必看篇
-
作者:辽宁吴彦祖前言(省流速览)夏日礼包购买理由:夏日礼包是DNF四大礼包之一(新春&耕耘&夏日&金秋),错过销售日期后续想获得部分道具难度极大。主打暖暖时装、特色补齐、海量打...
- DNF手游:55级粉装有大作用!强化继承大法,可节省大量幸运符
-
55级粉装的自身属性,实际上比较一般,但它可以用来作为“过渡胚子”,能够帮大家节省很多幸运符和宇宙精华!1、强化继承大法因为不断有玩家翻出了55级团本武器,这把武器肯定是当前版本毋庸置疑的版本答案,但...
- 魔兽世界50级职业任务装备如何选择,手把手教学
-
魔兽世界50级职业任务,我们装备应该如何选择,今天分身一个文章告诉你,我们知道BWL开放,也会开放50级的职业任务,那么50级的职业任务,对某些职业来说还是非常重要的,因为给的装备。有的甚至可以用到7...
- 暗牧的T5与散件如何取舍?认准自己的团队地位才最重要
-
牧师作为《魔兽世界》中的老牌职业历经许久已经收获了不少的信仰者,而在笔者看来牧师的最大特色便是风格完全不同的三系专精,在TBC时期,Raid本中的牧师大多为神牧,而戒律牧基本只活跃在竞技场和战场上,而...
- DNF:魂异界传说宝珠曝光!属性设计一般般,男枪第五转职专属
-
魂异界地下城“炒冷饭”,定位新春活动副本,奖励道具覆盖面广,涉及白金徽章、转职书、矛盾材料等等。解锁魂异界次元等级,还能兑换传说宝珠,属性也逐渐浮出水面,却比较鸡肋,“抠门”发挥的淋漓尽致!太“抠门”...
- SwiftUI入门五:让视图和过渡动起来
-
在使用SwiftUI的时候,无论效果在哪里,我们都可以单独的让视图的变化动起来,或者让视图的状态的变化动态化。SwiftUI会为我们处理那些组合的、层叠的以及可中断的动画的复杂性。在这个教程中,我们会...
- DNF:又是变强的一年?2024耕耘礼包提升率揭晓
-
作者:assddde前言国服耕耘礼包的内容已经爆料了。对去年拉满耕耘的奶系职业的而言,今年的提升点为纹章加入了1%的增益量增幅。对C而言,今年换装称号中还加入了buff换装词条。而对于错过了新春套的C...
- 魔兽世界:TBC第一阶段还有必要刷T4套吗,D3套能否过渡到T5套?
-
T4套真的不如D3套?TBC怀旧服P1阶段目前已经走过大半,作为这个阶段装备等级最高的套装T4套装,游戏中有很大争议。比如猎人玩家会选择D3套,直接跳过T4到T5阶段,而法师甚至会选择继续使用T3套装...
- 《异世界勇者》390版本开荒&毕业攻略——狂暴战
-
虽然说这个版本是防战的本命版本,但是从大家催更的频率来看,狂暴战依旧是碾压的优势,今天给大家分享一下390版本狂暴战的毕业游玩思路,希望对你有帮助。今天给大家带来的是手动速刷版的攻略,想要挂机过本需要...
- 飞飞重逢:装备属性卡全攻略,五色神卡助你战力飙升快速获取
-
在游戏中,装备属性卡是提升战斗力的关键道具,它能赋予装备特殊的元素属性,不仅大幅提升攻击力,还能针对不同怪物打出克制伤害。属性卡分为火、水、风、土、电五种元素,每种都能为装备附加独特的攻击特效。那么如...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- opacity 属性 (32)
- transition 属性 (33)