用户
 找回密码
 注册会员
搜索

iyangxin缩小放大

2022-9-27 20:35

向WireShark作者致敬-WireShark的前世今生

故事要从20世纪90年代开始说起。那时的IT业欣欣向荣:摩托罗拉正野心勃勃地实施铱星计划;Google的两位创始人还在房东的车库里研究搜索引擎。我们故事的主人公Gerald Combs还是默默无闻的青年。和那个时代的很多工程师一样,Gerald技术精湛,热情上进,动手能力极强。他就职于一家网络提供商,时常需要分析软件来辅助工作。可是这样的软件太少了,而且一个license就要80,000美金。即便在今天的美国,这也不是一笔小数目。

和我们中的很多人不一样,Gerald没有下载盗版软件,而是决定自己写一个。他单枪匹马忙碌了几个月。我们今天仍能想见其中的艰辛—即便是从业多年的工程师,对很多网络协议还一知半解,更不要说开发一个能分析协议的软件了。而一位工程师既精通多种协议,又能写好代码,更是常人难以企及的境界。但谦虚的Gerald一直对此轻描淡写,“I spent several months doing research and making notes.”到了1998年7月,这个软件终于面世了。它带来了这样的功能:当你透过它看到网络时,不再是没有意义的0和1,而是可以理解的简洁文字。有了它的专业解说,我们几乎能直接看懂网络上发生的一切。以前难以排查的问题,在它介入后便显露无遗。它还提供了权威的分析报告,比如重传率统计、响应时间和对话列表等,这解放了原本负担繁重的网络管理员,使他们有更多时间专注其他事务。

Gerald把这个软件命名为Ethereal,正对应了它的功能—还原以太网的真相。Ethereal的代码版权自然属于Gerald,而他所在的公司NIS(Network Integration Services)则拥有Ethereal商标。当时谁也没有想到,这个归属权会在多年后引起一场风波。由于Ethereal写得太好了,而且是以GNU GPL开源许可证发布的,世界各地的开发者纷纷参与到这个项目中。没过多久,它就涵盖了世界上大多数通信协议,成为广受欢迎的网络分析软件。它可以用于教学,如果网络教师用它辅助上课,可以大大提高学生的兴趣。也可以辅助开发和测试,是调试网络程序的好工具。当然它最大的用途还是诊断问题;从数据链路层到应用层的种种协议,几乎涉及网络的地方就有它的用武之地。更难得的是,Gerald并没有打算从中获利,它至今还是完全免费的,每位愿意学习的工程师都可以受益。

世界的变化总是超乎我们的想象,尤其是在IT业。没几年时间,铱星计划彻底破产;Google却成了最大的网络公司。只有Gerald没有变化,一直在兢兢业业地维护Ethereal。每个月都有新的协议出现,已有的协议也在推出新版本,他永远有忙不完的活。中间仅仅发生过一次改名风波:2006年他离开NIS,加入了CACE。由于和老东家在Ethereal的商标问题上无法达成一致,Gerald把项目改名为Wireshark。从此Ethereal这个风靡多年的项目停止了,只留下www.ethereal.com域名。我们至今还能访问它,但是会被重定向到一家叫AOS的公司。为什么不是重定向到NIS呢?因为NIS在2011年被AOS合并了。

Wireshark延续了Ethereal的成功,现在有成千上万的开发者在追随Gerald。每年还会召开一次为期4天的Sharkfest大会。2011年Wireshark在SecTools排行第一,2012年被Insecure.org评为“No. 1 Packet Sniffers”。美国的技术作家们开始为它著书立说,中国的出版社也在引进(比如人民邮电出版社引进出版的《Wireshark数据包分析实战(第2版)》)。值得一提的是,CACE后来被Riverbed收购了,Riverbed成了Wireshark项目的赞助商。很多中国工程师可能觉得Riverbed名不见经传,但说到Linux里常用的tcpdump命令就不会陌生。tcpdump的开发者之一Steve McCanne就是Riverbed的CTO。而WinPcap的开发者Loris Degioanni也在Riverbed工作。似乎冥冥之中自有天意,Riverbed把网络探测界的先锋们聚到了一起。我们要向Riverbed致敬,多亏了这些伟大的工具,我们才得以窥探网络的秘密。

Gerald不久前在Twitter上宣布,“Wireshark is, and will always be open source。”其实Wireshark即便不再开源也不会抹杀他的成就。改变世界的IT英雄,可以像Jobs一样领导一个成功的公司,更可以像Gerald一样创造一件传世的作品。他们的成就一样会被镌刻在IT历史的丰碑上。

鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋
Time
返回顶部