大家好,我是轩辕。
今天给大家分享一个好玩儿的东西。
计算机网络估计大家都多多少少学过吧,这里面最复杂的就要数TCP协议了。
说到三次握手、四次挥手估计大家还能说出一些,说到序列号和确认号估计也能知道一些,但说到各种状态转移、滑动窗口、拥塞控制、超时重传等内容,估计不少人就要头大了。
TCP实在是太复杂了!
抓包分析查看数据包是一个不错的方式,比如经典的Wireshark。
但Wireshark还是有一些复杂,对于刚学计网的小白来说,界面过于专业,操作起来还是恼火。
于是有人开始开脑洞:能不能像看微信聊天记录一样来学习TCP呢?
TCP的通信过程其实就像我们在微信聊天对话一样,双方你来我往,即便是小白,看聊天记录应该也是能轻松看懂的吧。如果用聊天的方式打开TCP会是怎么样的呢?
有一位叫wujiuye99
的网友就开发了这么一款工具,叫做ChatTCP
:
这款工具可以分析通过Wireshark等抓包软件抓取到的数据包文件,然后进行可视化的呈现。
整个软件界面分三大块,左侧列出分析到的TCP连接会话信息,当选中左侧的某一条连接后,最右侧的属性面板会展示这条连接的一些基本信息。
最中间的部分则是软件最核心的功能:通过聊天对话的形式将TCP连接中,双方你来我往的通信过程进行呈现。
比如经典的三次握手:
通过这样的对话形式,对三次握手的的过程,一下就跃然纸上了。
聊天气泡中展示了数据包一些关键的信息,比如序列号、确认号、标志位以及该数据包的作用概述信息等。
对于一些常见的应用层协议,比如HTTP,这款软件还进行了应用层解码分析:
点击消息上面的更多信息小图标按钮,可以查看这个数据包的TCP完整解码信息:
也可以查看十六进制数据:
点击顶部的开启讲解按钮,将会展示每个包的具体作用,帮助学习TCP的同学更好理解:
比如有乱序和重传的数据包,也会标识出来:
这款软件是个人开发者开发的,有部分高级功能是属于收费部分。我个人觉得这种方式还挺有新意的,遗憾的是目前只有MAC版本,没有Windows版本,可能是作者觉得用MAC的付费意愿更高?
大家觉得这种方式学习TCP怎么样?你会有想使用的欲望吗?