你听说过 Wireshark 抓包么?
先吹一波:它支持上百种协议的解密嗅探分析,在互联网上发生的事情,多微小的细节都能通过它分析出来,而且它不仅可以实时抓包,还可以离线分析,它还提供了 GUI 界面工具,你在其它大部分的抓包工具中抓到的数据文件都能拿来这里分析一波,而且,Wireshark 是跨平台的,市面上大多数系统都能运行。
吹了这么多,还是先来认识下 Wireshark 吧。
首先当然是要安装一波,你可以到以下链接中根据你的系统版本进行相应的安装:
https://www.wireshark.org/download.html
如果你网络有问题的话,没关系,我已经帮你把它们的最新版本都下载下来了,你可以在公众号后台发送 4 获取到相应的版本:
安装完成之后,打开它,差不多长这个鸟样:
我来给你标注一下每个模块是干什么用的,最上面的这几栏分别是:
这个一看就知道,而当你抓包的时候,界面会变成这样:
再来标注一下这几个面板都是干啥的:
先来简单抓一波包,感受一下流程。
首先我们要开启 wireshark 的数据访问监听,你可以使用快捷键 Ctrl + E,或者点击工具栏的第一个图标:
我们先过滤一下 HTTP 的请求:
然后随便百度一下图片:
这时候 wireshark 就监听到请求的数据包了:
在数据包列表中,每个 item 所表示的都一目了然,从左到右分别是请求的时间、请求的 IP 、响应的IP、请求的协议、内容长度、以及相关信息:
每条数据下方都会有具体信息的显示,你也可以直接双击具体的数据包,这时候会弹出一个窗口,专门用来展示具体数据包的相关传输信息:
我们来看看应用层抓到的信息:
可以看到,这里我们是通过 Get 请求,其中 Http 协议参数以及请求头的相关信息都可以在应用层这里获取。
响应的信息:
那么除了 Hypertext Transfer Protocol 之外,上面的那几个显示的都是什么内容呢?
我们一个一个来,其中的 Frame 里面主要是展示这个数据包报文的具体信息:
比如这里就展示了网卡信息,抓取的时间,数据的大小,协议等信息。
因为网络数据包的传输是分层的,所以这里的以太网 Enternet II 表示的是数据链路层,在这里可以看到的是源 mac 地址和目的 mac 地址:
接下来就是 IP 网络层,这里可以看到 IP 协议头的一些信息:
最后就是我们刚刚看到的 HTTP 协议应用层:
大概认识了 Wireshark 之后,接下来我再跟你说说它的常用功能。
我们刚刚输入 http 进行了显示过滤:
实际上 Wireshark 的过滤很强大,可以定义不同的参数过滤,你可以点击菜单栏的:
View-internals-Support Protocols
在这里可以看到各种协议的过滤字段:
比如 http 协议的过滤字段:
通过 Filter 字段中的值,就可以直接用它来定义过滤了,比如过滤 fxxkpython.com 的请求就可以这样:
http.host == fxxkpython.com
过滤 80 端口的数据:
另外,你还可以选择不同网卡设备的抓取:
设置完之后点击 start 就能开始根据你定义的规则进行抓包了。
在抓包的时候你会看到数据包列表各种颜色:
这些不同颜色代表不同的协议,你可以在 View-Coloring Rules 中自定义:
你点击具体的数据包的时候,在数据列表的左侧会出现类似这样的图:
被框住的数据包表示一整个会话,其中的虚线表示与会话无关,而 --> 代表的是请求, <-- 代表的是返回。
而 √ 表示的是报文的确认:
如果你想晚点再去分析数据包的话,你也可以把你想要的数据包给导出到本地,点击菜单栏的 File--Export Specified Packets:
等你想要分析了的时候,打开 Wireshark, 导入文件就可以继续分析了:
ok,关于 Wireshark 的基本使用介绍就先到这里,其实不应该只把它看成一个抓包工具,它还有很多好玩的地方,比如在学习网络的时候它就是一个不错的辅助学习工具,感兴趣可以去了解一下。官网在这:
https://www.wireshark.org/
那么,我们下回见啦,peace!
相关:
教你在 Chrome 浏览器轻松抓包教你通过 Fiddler 进行手机抓包如何使用 mitmproxy 监控你的手机
天涯何处无芳草,何必单恋 Fiddler?
评论