百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 软件资讯 > 正文

我抓了一个包,你不想看看?

ninehua 2025-01-14 16:15 57 浏览

咱们平时在开发对接的时候,前端和后端都习惯使用浏览器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)

相关推荐

autoCAD2020启动【许可检出超时】解决办法

autoCAD2020启动【许可检出超时】问题我在网上搜索说法很多,按网上的说法修改都无效,每次启动电脑,检查服务,AutodeskDesktopLicensingService的自动启动又会变...

高版本的CAD,安装完以后,菜单栏显示文字乱码,怎么回事?

全球最新版本,AutoCAD2021是一款功能强大的二维/三维设计软件,软件内置了专业强大的MEP、MAP3D、PLANT3D等智能工具组合,能够广泛应用于机械设计、工业制图、工程制图、土木建筑、...

CAD怎么调出编辑栏?试试这个小技巧

CAD怎么调出编辑栏?相信作为一名新时代的上班族,我们应该不仅满足于目前的工作能力,下班后也会经常学习充电。毕竟现在知识迭代实在是太快,只有不断的努力学习,才能更好的进步。如果我们收到别人发来的CAD...

CAD原来要这样打印高清图纸!老师傅多年经验分享!太实用了!

我们在绘制完图纸之后,经常会需要将图纸打印出来,可别小看打印这个小小的步骤,打印也是有很多门道的,今天小编就来跟大家分享一些关于CAD的打印技巧,希望对刚入门的小伙伴有所帮助~一、如何打印高清图纸1、...

教你如何改回CAD经典版本

随着CAD版本的逐步升级,后来版本的界面有了很大的变化,有些喜欢经典版本的朋友不知道怎么去改回经典版本,今天就着重介绍下改变CAD版本的方法。首先打开安装好的CAD界面,不同版本的CAD界面不相同,对...

solidworks使用心得,纯干货!建议大家收藏

SolidWorks常见问题Q1:怎样修改,修复或删除已有SolidWorks软件的安装?A:在退出SolidWorks的状态下,于控制面板中双击添加或删除程序,选择Solidworks,单击更改或...

安装CAD时,提示错误1406,无法将值写入主键,怎么解决?

安装CAD时,提示错误1406,无法将值写入主键,怎么解决?有三种方法。方法一1、右键点击开始→【运行】中输入:regedit按回车键之后,打开注册表编辑器。2、依次定位到:HKEY_LOCAL_M...

原来CAD还可以这样提取坐标和文字!按下这个键,一秒提取

我们在工作时候,有时需要将图纸里的坐标、文字等数据提取出来,不知道大家都是怎么提取的呢?一个一个提取的话太麻烦了,要是赶时间要出图的话那就完蛋了!那么有什么办法能够快速提取CAD中的数据呢?今天小编就...

怎么将CAD的版本转换?用这个方法轻松转换

在我们日常学习和日常工作中,对于需要用到CAD的人来说,有时候会遇见这样一个问题,自己的CAD版本与对接方的版本不一致,尤其是低版本的CAD软件是查看不了高版本的CAD图纸的。那么如何将CAD版本之间...

dwf文件如何打开 dwf转cad轻松转换方法

在CAD制图工作的过程中,为了避免CAD图纸被任意修改,许多绘制完成的CAD图纸都会转换成DWF文件格式来保存。我们可以使用AutoCAD这种比较专业的CAD处理软件来打开DWF文件,打开AutoCA...

CAD安装出现1603错误,怎么办?简单3步就能解决,方法亲测有效!

很多同志在工作中要用到CAD这款软件,既然要用这个软件,那就必须要安装CAD这个软件到电脑上。但在安装AutoCAD软件的时候,可能会遇到"安装无法完成。错误1603",如图所示。怎...

AUTO CAD出现无法识别的版本,如何解决?

一、问题描述:CAD+天正,从其他CAD图中复制进东西保持后在打开,打开文件出现无法识别的版本,特别烦人怎么解决?(PS:重装CAD和天正后依然无效)二、原因分析:这是一个AutoCAD的bug,因...

安装CAD时,出现1308错误,怎么解决?看完本文你就知道

CAD出现1308错误怎么办?AutoCAD一种计算机的辅助设计软件,但是打开CAD软件的时候提示错误1308,源文件未找到,因此无法继续安装AutoCAD软件,那么遇到安装AutoCAD出现130...

CAD快捷命令汇总

本教程对AutoCAD快捷键进行了整理,希望能帮到大家绘图快捷键圆【C】点【PO】直线【L】圆弧【A】椭圆【EL】表格【TB】矩形【REC】面域【REG】创建块【B】插入块【I】多段线【PL】构造线【...

CAD室内设计必备10000套图库,系统图块无水印直接使用

号外!号外!你们心心念念的福利来了~更多室内设计学习文章,资料,教程,软件,插件,方案,施工工艺材料等可以关注私信小编,不懂的地方,欢迎大家留意交流---领取方式:文章末尾-免费分享-以下案例为这...