前提

提到Wireshark主要是由于有关TCP/IP的理论太过羞涩,容易造成混淆复杂化,为了显得更加直白好理解,在后面的文章中将会引入Wireshark进行辅助,以便更好地阐述。说白了,Wireshark是一款开源且免费的抓包工具,用专业术语来说就是数据包嗅探器,因为是外国人开发的软件,在不FQ的情况下难免下载会比较慢,不过倒是有其他人下好了放在百度云盘上,搜一下便有了,接下来简要说说如何安装。

安装

Window环境的话比较简单,提一个点,在安装过程中会让你选择是否安装WinPcap,该驱动能够通过操作系统捕捉原始数据包,还能够让网卡切入或切出混杂模式(允许网卡查看到所有流经网络线路数据包的驱动模式),我们只需要掌握Wireshark的基本功能即可,所以个人觉得可以忽略,还有一个让你选择的是USBPcap,该驱动能够通过USB来收集数据,同样跳过。Linux环境的话,可以通过RPM(yum命令)方式直接安装,在此过程中根据提示依赖;另外一种方式可以通过源代码编译的方式来安装。以下只展示在Linux环境下的安装过程,如图所示:

SPARK是什么 whispark是什么_IP

在这个过程中可能会安装依赖,直接yes就可以了。

SPARK是什么 whispark是什么_IP_02

输入该命令就可以启动Wireshark应用了,将会看到GUI界面。为了便于读者找到对应的条目,这里说下我安装的版本是3.2.7,并没有什么奇特之处。通常情况下如果是Linux环境一般都会使用命令行的方式,那么就得需要另外工具Tcpdump,简单来说通过Tcpdump实现抓包,将数据包保存下来使用Wireshark打开,总不能用命令行的方式分析数据包吧,所以这里就顺便把Tcpdump安装了。

SPARK是什么 whispark是什么_IP_03

中途需要安装依赖包,就一路yes就可以了,安装完毕后执行tcpdump -h来查看是否安装成功以及版本信息。

入门

打开Wireshark,可以看到能够捕获数据的各种设备,其实我的第一个反应是在cmd控制台下输入ipconfig /all命令行查看所有适配器(网卡),控制台上显示的适配器列表都一一体现在Wireshark主页上,可仍然能发现有几个是不在其列表下的,这我就很好奇了,然而最终我也是没有解决该疑问,如图所示:

SPARK是什么 whispark是什么_SPARK是什么_04

就好奇本地连接678哪里来的,即使是直接查看主机上的适配器列表,仍热也是没有...不过其实你可以发现Wireshark做的挺细心的,在主页上你可以直接看到每个适配器的数据包曲线图,随意点开一个:

SPARK是什么 whispark是什么_SPARK是什么_05

可以看到整个窗口有三大块,分别是数据包列表,自然是捕获到的各式各样的所有数据包,有序列号、数据包被捕获时的相对时间、数据包的源地址和目标地址、协议、简要信息;下一个是数据包明细,随意点一个TCP协议的数据包,可以看到有对应的物理层、数据链路层、网路层(IP层)、传输层,如果有HTTP协议的话,还有应用层,展开其中一个可以看到有更为详细的内容;下一个是数据包字节,显示原始的数据包,即没有经过处理的。

SPARK是什么 whispark是什么_SPARK是什么_06

简单配置

在数据包列表中可以看到五颜六色,每种颜色所代表的意义也不一样,当然了,你可以自定义颜色,如图所示:

SPARK是什么 whispark是什么_SPARK是什么_07

SPARK是什么 whispark是什么_SPARK是什么_08

或者说不喜欢整个窗口对应数据包列表、数据包明细、数据包字节的排版,也是可以自定义调整,如图所示:

SPARK是什么 whispark是什么_SPARK是什么_09

SPARK是什么 whispark是什么_Wireshark_10

除了排版,这里还可以定义标记数据包时显示的颜色、忽略数据包时显示的颜色、有效/无效过滤器显示的颜色等等,还有一些较为高级的配置,比如说对协议的配置、名称解析,其实最常用的还是过滤器表达式,能帮助你快速筛选出到数据包,其中的语法Wireshark也会有相应的提示,表达式正确的话就会呈现绿色,否则就是红色。

结束语

之所以简单了解下Wireshark是为了后续的TCP/IP文章做铺垫,将会借助Wireshark帮助分析与理解问题,这里就不在介绍简单示例了。