Wireshark 的使用与数据分析(一)

用户头像
姬翔
关注
发布于: 2020 年 05 月 30 日
Wireshark的使用与数据分析(一)

一提到网络和抓包,使用Windows的用户大多会想到Wireshark,使用linux的可能会想到tcpdump。不管是什么平台,但凡遇到涉及网络的问题时,首先就应该想到抓个包看一下。Wireshark作为一款开源的专业数据抓包和分析工具,提供了强大的数据抓取功能和丰富的分析方式。希望能通过这篇及后续分享的内容,加深了解,一同成长。



一、Wireshark的基础知识

1.1主窗口界面

Wireshark是一款可以运行在Windows、macOS、Linux和Unix系统上的一款开源网络分析软件,下载方式直接百度就行。中文版和英文版在部分界面呈现上会有所不同,但基础的功能都是一样的。下面的截图就是我最近刚下载的3.2.4版本中文操作界面:

为了方便说明,这个界面是我打开软件开始抓包时截取的。具体参加下文:

标题栏:用于显示文件名称、Wireshark版本号、所捕获的接口等等信息;

菜单栏:提供各种功能的菜单;

工具栏:常用功能的快捷图标;

显示过滤区域:通过过滤器和过滤条件,选择适合的数据展示;

Packet List面板:显示数据帧的摘要;

Packet Details面板:分析数据包的详细信息;

Packet Bytes面板:以十六进制和ASCII格式显示数据包的细节;

状态栏:注释、包数、profile等等信息。



1.2安装Wireshark

安装包可以在官网上下载到。对于Win用户来说,安装时大部分设置点击下一步就行,需要注意的是Wireshark是基于Winpcap的,安装步骤如果提示需要安装Winpcap,请一定安装上。至于其他平台,我没有使用过,如有问题请参考网上的其他教程。



当我们的计算机连接到网络上时,它要依赖于一个网络适配器(网卡)及驱动程序来发送和接收数据包,Wireshark为了捕获和分析数据包,也是依赖这两者进行数据捕获的。



1.3认识一个数据包

稍微了解网络或是计算机的人都知道(或者听说过),我们的计算机网络系统是一个分层的系统。因此Wireshark在展示网络中的数据包时,也是按照分层来展示的。



还是上面的那张截图,我选择了一个http协议的报文来展示一个数据包。

此处展开的是物理层的数据帧;

此处主要是包含接收到的帧的基本信息,包含长度、时间间隔等。着色规则将在后面的分享中进行介绍,如果经常使用Wireshark的同学会发现有些报文的颜色不是这种最常见的绿色。



数据链路层以太网帧头部信息:

此处可以看到目标MAC地址(接收方)和源MAC地址(发送方),细心的同学还可以发现这个报文是我的路由器(型号H3C)向我的电脑(华硕)发送的报文。



网络层IP包头部信息:

这一层就是IP协议,此处是IPv4。可以看到这一层中由之前的MAC地址转为了IP地址。



传输层TCP数据段头部信息:

这一段是传输层,此处是TCP协议,其可以理解为是一个“滑动窗口”协议。关于协议的具体讨论已经超出了今天的范畴,以后会结合报文来讲。如有兴趣推荐看一下《TCP/IP详解 卷一:协议》中的相关章节。



应用层协议(此处是http)

关于http协议(HyperText Transfer Protocol,超文本传输协议)具体的讨论,也不打算在这里细聊(细节内容太多了)。在这个报文中,返回了“200OK”就表明发送的数据响应成功了,其他的404等实际上也是http协议返回的错误码。



在下一次的更新中,将会带来抓包和显示过滤的一些技巧。



参考文档:《Wireshark数据包分析实战详解》



发布于: 2020 年 05 月 30 日 阅读数: 78
用户头像

姬翔

关注

还未添加个人签名 2018.12.05 加入

还未添加个人简介

评论

发布
暂无评论
Wireshark的使用与数据分析(一)