Wireshark 已诞生 25 周年,项目作者 Gerald Combs 近日发文介绍了创建 Wireshark 的动机,以及一路走来的心得和经验教训。
Gerald Combs 说道,25 年前他发送了下面这封电子邮件,最终改变了自己的人生轨迹。
从邮件可以看到,项目名称为 Ethereal(直到 2006 年才改名 Wireshark)。Gerald Combs 称协议分析器在当时是十分稀缺的工具,如果需要查看网络运行相关的信息,可以免费使用 tcpdump 和 snoop 等命令行工具,但如果想要 GUI 分析器,则必须支付相当大的一笔费用来购买。
由于 Gerald 的工作需要用到协议分析器,最终他决定自己编写一个简单的分析器,并将其作为开源项目发布。
在发送出上面那封电子邮件几天后,Gerald 收到了一个补丁,然后是另一个,接着再一个。很快 Ethereal 就发展成了一个蓬勃发展的开发者社区,于是 Gerald 便开始忙起来了。在接下来的几年里,该项目及其社区的发展超出了 Gerald 的预期。
Gerald 感叹道,如今世界各地的使用者都在使用 Wireshark 来让他们的网络变得快速、可靠和安全,教育工作者也用它来向下一代安全和网络工程师传授网络的底层知识。
毫无疑问,Wireshark 是十分成功的开源项目。Gerald 从它的经历总结了开源项目持续发展要满足这些要求:用户支持、教育工作者支持、开发者支持、由律师和会计师提供的法律和财务支持,以及稳定的基础设施。
延伸阅读:开源网络数据包分析器 Wireshark 成立基金会
Wireshark 发展简史
1997年底,密苏里大学堪萨斯城分校的毕业生杰拉德·康姆斯(Gerald Combs)在一家小型的互联网服务供应商上班,他需要一个工具以追踪网络问题并了解更多网络知识,于是开始编写 Ethereal 软件。
1998年7月,Ethereal 在经历几次开发暂停后,终于发布其第一个版本v0.2.0。此后,Combs 收到了来自全世界的补丁、错误报告与鼓励信件。Ethereal 的发展就此开始。不久之后,Gilbert Ramirez 看到了它的潜力并贡献了一个底层的解析器。
1998年10月,来自Network Appliance公司的 Guy Harris 在查找一套比tcpview(另一套网络数据包截取程序)更好的软件,于是他也开始参与 Ethereal 的开发工作。
1998年底,教授TCP/IP课程的 Richard Sharpe 看到了它在此类课程中的潜力,并开始研究它是否支持他需要的协议。虽然当时不支持,但可以轻松添加新的通信协议,因此他开始向 Ethereal 贡献数据包截取功能,几乎包含了当时所有通信协议。
此后,越来越多的人开始参与 Ethereal 的开发。他们希望使用 Ethereal 截取特定的、但 Ethereal 尚未支持的通信协议的数据包,于是开始参与它的开发。
2006年6月,因为商标的问题,Ethereal 更名为 Wireshark。
2008年,经过十年的发展,Wireshark 正式发布 1.0 版本。
2015年,Wireshark 发布 2.0 版本并更新了用户界面。