今天小编要给大家介绍的这个抓包工具--Wireshark
,它相对其他的抓包工具来说更厉害一些。
功能
它支持上百种协议的解密嗅探分析,在互联网上发生的事情,多微小的细节都能通过它分析出来,而且它不仅可以实时抓包,还可以离线分析,它还提供了 GUI
界面工具,你在其它大部分的抓包工具中抓到的数据文件都能拿来这里分析一波,而且,Wireshark
是跨平台的,市面上大多数系统都能运行。
认识一下Wireshark
首先就是安装:https://www.wireshark.org/download.html 根据自己的版本进行安装 安装完成之后打开图下:
现在来带大家了解一下每个模块有什么作用:
现在这样一看就知道,然而当你抓包的时候界面就会改变图下:
再来给大家说一下这几个面板分别有什么作用
现在我们先来简单进行一个抓包 首先我们要开启Wireshark
的数据访问监听,你也可以使用快捷键 ctrl+E
或者点击工具栏第一个图标
我们先过滤一下Http
的请求:
然后随便去浏览器找一些图片:
这时候 wireshark
就监听到请求的数据包了:
在数据包列表中,每个 item
所表示的都一目了然,从左到右分别是请求的时间、请求的 IP
、响应的IP
、请求的协议、内容长度、以及相关信息:
每条数据下方都会有具体信息的显示,你也可以直接双击具体的数据包,这时候会弹出一个窗口,专门用来展示具体数据包的相关传输信息:
我们来看看应用层抓到的信息:
可以看到,这里我们是通过 Get
请求,其中Http
协议参数以及请求头的相关信息都可以在应用层这里获取。 响应的信息:
那么除了 Hypertext Transfer Protocol 之外,上面的那几个显示的都是什么内容呢?
我们一个一个来,其中的 Frame
里面主要是展示这个数据包报文的具体信息:
比如这里就展示了网卡信息,抓取的时间,数据的大小,协议等信息。 因为网络数据包的传输是分层的,所以这里的以太网Enternet II
表示的是数据链路层,在这里可以看到的是源 mac
地址和目的 mac
地址:
接下来就是 IP
网络层,这里可以看到IP
协议头的一些信息:
接下来就是TCP
传输层,在这里可以看到TCP
数据包的一些信息,比如源端口,目的端口,序列号,Ack
确认等:
最后就是我们刚刚看到的 HTTP
协议应用层:
大概认识了 Wireshark
之后,接下来我再跟你说说它的常用功能。 我们刚刚输入http
进行了显示过滤:
实际上 Wireshark
的过滤很强大,可以定义不同的参数过滤,你可以点击菜单栏的: View-internals-Support Protocols
在这里可以看到各种协议的过滤字段:
比如 http
协议的过滤字段:
通过 Filter
字段中的值,就可以直接用它来定义过滤了,比如过滤fxxkpython.com
的请求就可以这样: http.host == fxxkpython.com
过滤 80 端口的数据:
另一种过滤的方式是在抓取的时候过滤,也就是说,我们只要抓取某一范围的数据,而不是网卡所请求的所有数据,那么这个时候你可以使用快捷键Ctrl + K
,打开input
面板下面的搜索框里定义,比这里只定义分析 fxxkpython.com
的数据:
另外,你还可以选择不同网卡设备的抓取:
设置完之后点击start
就能开始根据你定义的规则进行抓包了。 在抓包的时候你会看到数据包列表各种颜色:
这些不同颜色代表不同的协议,你可以在View-Coloring Rules
中自定义:
你点击具体的数据包的时候,在数据列表的左侧会出现类似这样的图:
被框住的数据包表示一整个会话,其中的虚线表示与会话无关,而 -->
代表的是请求,<--
代表的是返回。 而 √
表示的是报文的确认:
如果你想晚点再去分析数据包的话,你也可以把你想要的数据包给导出到本地,点击菜单栏的 File--Export Specified Packets
:
等你想要分析了的时候,打开Wireshark
, 导入文件就可以继续分析了:
以上就是小编今天带来的内容 小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴点击下方链接即可领取
https://docs.qq.com/doc/DTGpFa2lVeE9jUkRv