林沛满先生关于Wireshark的两本书:《Wireshark网络分析就这么简单》《Wireshark网络分析的艺术》,都很不错。可惜自己读的时候并没有就一些知识在自己电脑上实践,只是一股脑读完了,但是也有很大收获。

1、认知感受方面:从实践方面一张张的截图,让我学习中遇到的TCP报文中的一些字段(SYN、ACK、Seq、Ack、Win、Len、MSS)不再停留在教科书上,有了更直观的感受和理解;还有MSSMTU,之前分不清的概念也渐渐清晰起来(话说这两个概念是我在几本书中遇到多次才搞清楚的,后来每一次再遇到更多一些理解和深刻,完全不是一本书一次性搞懂的。这或许就是对我而言知识获取的难度吧,理解了发现很简单的概念,但不理解的时候脑子一团浆糊);然后,就是WireShark软件的一些使用技巧。记得大二学CN的时候电脑上下载了WireShark,印象中根本就没自己动手尝试和验证书中的理论知识,只是用它完成了老师布置的作业而已。对,犹记得当时自己的主动学习的能力是有多差。

2、一些边角料的知识:了解到OSI七层模型是一个没有市场的笨重模型,市场上广泛使用的是TCP/IP四层模型,我们教科书一般使用的是两者结合的五层模型,可考试还是会考OSI七层模型的知识点,难怪作者说:“大学的应试教育可见一斑”。才知道SUN公司居然是源自“Stanford University Network”的首字母,奇怪的知识又增加了。

最后,这两本书质量蛮高的原因之一就是作者就一些问题分析时给出了详细的截图。的确,发现某些好的书籍就擅于使用大量的图片,更易于读者理解,纯文本有些时候对于计算机类这种实践性强的专业反而不如图片更加直观易懂。

总的来说,两本书值得后面遇到相关问题第二次阅读查阅,再次体会每类问题的解决思路和方案。

3、一年以来比较深入(可能只是自己以为的深入,其实还是浅尝辄止,浮于表面,但比自己大学刚开始学习的时候进步很大)的学习计算机基础知识,尤其是计算机底层的一些东西,改变了我的一些看法。大一大二的时候认为敲代码是一件很玄学的事,有时候一个配置、一行代码,可能就是跑通和跑不通两种完全不同的结果,以至于那时候认为敲代码要靠运气,我的电脑上跑不通的到了其他人电脑上就可以跑通了。可是慢慢学习底层的一些东西,理解到所有的代码,最后都要通过一系列的预处理编译汇编链接或者是解释转换为机器代码执行,最后机器执行的只是二进制的01序列,所以写出来的代码有问题肯定是某方面出了问题,绝不是玄学的事。可是当自己的理解不够深入时,有时候很小的问题对自己来说也可能是一团乱麻,所以,面对问题,首先不要慌张,头脑清晰的分析问题,思考背后深层次的原因,或许就可以找到解决bug的方法。提高解决问题的能力需要在实践中慢慢提高。