EasyTshark发布啦!
大家好,我是轩辕。
昨天,我基于Wireshark开发的抓包软件EasyTshark正式发布了!现在所有人都可以免费下载使用了。

之前的视频和文章发布之后,很多小伙伴都在不断问我什么时候公开下载,今天它终于来了。

过去的这两个月,主要是面向我的知识星球里的朋友使用,在和大家一起开发的过程中发现了不少的问题,目前来说相对比较稳定了,我觉得是时候可以公开给更多人来使用了,在文章的结尾我会公布下载地址。
这是我基于Wireshark开发的,开发这个软件的初衷呢,是想降低抓包分析的门槛。Wireshark本身非常强大和优秀,但我个人觉得对新手不是太友好,加上我本身工作也经常接触网络流量分析类的产品,看到有些企业级产品的功能很不错,要是Wireshark也有就好了。那出于这两点考虑,于是打算开发一款我自己的抓包软件。
功能介绍
1、在线抓包分析
作为一款抓包软件,最基础的肯定就是抓包了。这个呢就是我的抓包界面,和wireshark很类似,我做了一些精简化的设计,让刚学计算机网络的新手也能知道怎么操作。

开始抓包后,进入主工作界面,这里和Wireshark也基本类似,稍微有些区别的是有两个地方,一个是我增加了IP地址归属地,另一个是最后这里我增加了一个图标按钮,点击这个图标,可以直接打开这个数据包所属的网络会话。
2、会话分析
重点要介绍的是这个会话分析。很多时候,我们进行流量分析的时候,单看一个数据包是不够的,往往需要结合该数据包所在的上下文一起来分析。我这里提供了会话的视角,通过时序图的方式查看这个会话通信双方的交互,分析起来更加高效。另外这里也能查看会话交互的数据流,这个和Wireshark是差不多的。

3、离线分析文件
除了在线抓包分析,当然也可以离线分析文件。从首页这里上传,或者在工作界面顶部按钮这里上传都可以。
4、进程分析
最后介绍一下这次的新功能:进程分析,这个是Wireshark没有的功能。在会话列表这里可以看到这个会话是由电脑上哪个进程产生的流量。另外在单独的进程分析菜单下,以进程树的形式展示了所有进程的流量。

关于这个功能的实现,可以展开聊几句。我是一边通过tshark抓包分析,另一边通过ETW这样的系统机制监控网络事件,然后通过会话五元组把进程信息和通信会话做关联实现的。
如果大家对开发这样一款抓包软件感兴趣的话, 欢迎大家加入我的知识星球,这里有详细的开发教程。前段时间已经组织过两次开发训练营,带领了几百人一起学习开发了。

我知道很多朋友看到这里,都会说,已经有一个叫做科来网络分析系统的软件有这些功能了,这里也统一来回复一下。
确实是这样,科来网络分析系统是一款非常优秀的国产抓包软件,这是一家成都的公司,我2017-2018年有幸在这家公司工作过一段时间,这是国内少有的能够独立自主研发协议分析能力的公司。我之前还做过视频安利过老东家的产品。
但为什么已经珠玉在前,我还要开发EasyTshark呢?我想主要有几个原因。
1、我自己用的是MAC电脑,科来网络分析系统不支持。
2、自己开发的软件,有很多个性化的地方我可以很方便修改支持。
3、正如前面所说,想开发一个尽可能简单好用,门槛低的抓包软件,适合学习计算机网络的新手。
基于这么几个方面的考虑,所以决定开发这个软件。
是否开源
很多朋友关心的开源问题,这里我统一介绍一下。
我是基于Wireshark开发的这款软件,但是我并没有使用它的源码来开发,而是直接基于它的二进制程序,通过里面的命令行组件tshark进行工作,通过管道实现进程间通信读取tshark的输出,本质上跟我们手动命令行下执行tshark是差不多的。
我没有用到Wireshark的开源代码,也没有静态或动态使用它的任何库文件,根据我目前询问多个AI的结果,这样使用tshark是不受开源协议的限制的,所以理论上是可以选择不开源的。当然也有可能AI给我的结论是错误的,如果是这样的话大家可以给我指出。

不过不管AI说的对不对,本着开源分享的精神,我后面还是打算开源出来,供大家学习研究。之所以不是现在,主要是因为说实话现在版本代码写得有点糙,尤其是前端部分,毕竟我不是专门写前端的,开源出来有点丢人,等我后面再优化优化再开源,有需要的朋友可以保持关注。
顺便提一嘴,有网友发现GitHub上面已经有一个开源的EasyTshark,需要说明一下,这个并不是我的项目,而是我们训练营里面一个学员的半成品。

缺点
接下来说说这款软件的缺点,是的,在我看来,这款抓包软件当前还是有不少缺点的,这个也提前说一下,免得大家下载后失望。
第一,这个软件是基于tshark分析,遇到比较大的数据包文件的时候,分析性能还有些跟不上,比较慢,比起原生的wireshark,这算是一个比较大的劣势,这一点必须要告知大家。
第二,当前版本为了跨平台,采用的是electron技术开发的,体积上有一些臃肿,并不是那么轻量。
第三,也正因为是使用electron,所以数据包界面这里不可避免的使用了分页展示的方式来呈现,而不像native版本的wireshark,一个滚动条拉下来可以看到所有数据包。
下载地址
如果看了这么多缺点,你依然对它感兴趣的话,那非常欢迎大家来下载体验。下载地址:
https://www.yuque.com/xuanyuanzhifeng-xofk5/hl8fig/eg693obkywqws7v7?singleDoc
目前只支持了Windows和MAC两个平台,全部都是免费下载使用的,大家如果觉得不错,给我一个三连支持就好啦!
最后要说一下,虽然已经修了不少Bug,但没法保证现在大家用到的就是没有Bug的,大家在使用的过程中,如果遇到新的问题,可以随时向我反馈。不过因为我不是全职在维护这款软件,所以更新啥的不一定非常及时,请大家能够理解一下。
未来的方向
关于这个软件未来的方向,我初步是有三个计划:
第一个计划,目前的版本太臃肿了一些,使用electron是权宜之计,后面等时间充裕了,我还是打算把UI部分使用C++重新来实现。
第二个计划,是把抓包分析细分场景中一些好用的小功能慢慢丰富,减少大家在各个工具中切来切去的繁琐操作。比如解密浏览器TLS流量这个功能,我想做到尽可能简单,在界面上点两下就可以实现。

第三个计划,是想利用MCP技术把AI的能力植入进来,做一些智能化分析之类的工作。
也欢迎大家保持关注,后续有新功能版本迭代更新的时候,也会做发文大家。
最后欢迎大家来下载体验,感谢各位的支持。