毫无疑问,Wireshark 是世界上最受欢迎的开源网络分析软件了。几乎我们做网络排查
中,稍微复杂一点的情况,都会用到它。我经常会遇到,有工程师用略带傲娇的语气
说:“我用 Wireshark 分析过了,这个问题的根因肯定是 xxx”。
简单来说,能用 Wireshark 做分析,一则确实很管用,二则也“挺显档次”的。
我有时候面试一些候选人,谈到 Wireshark 时,对方多半都会告诉我他们用过 Wireshark,
或者直接简历上就写着“擅长用 Wireshark 解决问题”。
虽然真的问起来,每个人掌握的程度还是差异很大。
不过,对于 Wireshark 的认同度,我相信没有人质疑。
可能很多人并不知道,最初 Wireshark 并不叫这个名字,这个项目原来的名字叫 Ethereal。
在英文中,ethereal 这个词本意是“缥缈的,超凡的”,好像跟网络没有直接关系。
不过巧合的是,以太网的英文是 Ethernet,而这个项目的本意是为了还原网络的真实(real)情况,
所以 Ethereal 可以理解为 Ethernet + real。
1998 年,在网络公司工作的小伙杰拉尔德·库姆斯(Gerald Combs)发布了 Ethereal,
本意是为了解决他自己在工作中解析网络协议的需求。
因为当时商业的网络分析软件很贵,一个 License 就要几千美元,所以他就想自己写一个。
嗯,觉得某个东西不好用就自己做一个,这好像也是很多牛人的普遍特征。
没想到 Ethereal 发布后,很快得到了越来越多的支持,并逐步成为了工程师们最喜爱的网络分析工具之一。
在 2006 年,因为 Gerald 换了工作,但当时 Ethereal 的商标权还在原先的公司,
所以他不得已就新启动了名为 Wireshark 的这个项目,继续他在这个工具上的投入。
当时的宣告在这里可以看到。
Wireshark 既可以分析抓包文件,也可以直接用来抓包,起到跟 tcpdump 类似的作用。
而且比 tcpdump 方便的是,如果直接用 Wireshark 发起抓包,窗口里就直接显示抓取到的报文了,
这省去了 tcpdump 抓包后,再用 Wireshark 打开的小小的麻烦。
虽然只节省了一小步,但我们能在 Wireshark 图形界面里看到报文不断充实进来,这种感觉还是比较美妙的。
这里你也可以通过一个简短的视频,初步了解 Wireshark。
Wireshark 的一些知识和使用技巧下面,我们一起来探讨一些使用 Wireshark 时容易遇到的问题,
帮你减少使用 Wireshark 时的“心理压力”,更好地跟这位女神“交朋友”。