一
作为一个有追求的测试人员,不断学习是必须的,现在是互联网时代,那么了解互联网之间的通讯方式是非常有必要的,不论是web端还是移动端,基本上都是通过TCP/IP进行交互的。那么TCP/IP应该是一个硬技能。
二
一般来说,每门知识都有一本“圣经”,《TCP/IP详解》无疑是这方面的宝典。如果能够完整的看下来,当然是最好的,但是这类“圣经”讲解的都非常细,内容相对枯燥,很难从头到尾把它看完。所以我选择了另一种方式学习。
三
HTTP是TCP/IP协议的应用。日常生活中接触的也比较多,从HTTP入门再去学习TCP/IP,有了一些概念,学起来很多地方就可以脑补,就不会那么困难了。
《图解TCP/IP(第5版)》是日本人写的一本介绍HTTP的书籍,我觉得入门学习非常棒,书中有着大量的图片来描述枯燥无味的通讯。我是去年把这本书看完的,把它阅读完之后,基本上对于HTTP就有了一个基本的了解,起码一些比较专业的术语、概念等有了一个比较清晰的认识。
四
学完HTTP基础的概念之后,试着找了一些抓包工具来看HTTP在实际生活中的内容,理论上比较火的抓包工具是Fiddler,不过Fiddler那个界面内容太多,再去学习Fiddler整个学习曲线就变了,而且也浪费太多时间,Mac电脑上用Charles比较简单,Charles也自动规避了那些复杂的底层的通讯内容,只展示网络请求。
学以致用,最近工作中和微博合作的时候,通过Charles成功的定位了问题。好吧,就是把锅甩给微博了。
五
随着工作的深入,慢慢的要往底层学习,HTTP在某些时候已经不能满足工作需要了,而且Charles有时候也不顶用,比如我们的APP本来就是代理的方式来处理数据,再通过Charles代理,会出现页面无法展示的错误,而且Charles只能捕捉WiFi的数据,要捕获3G/4G就无法胜任了。这个时候就需要重新找一个工具了。
六
Wireshark是一个更强大的工具,并且通过Wireshark能够更深层次的学习TCP/IP,因为这些底层的数据包Wireshark也能够捕获和展示。
《Wireshark数据包分析实战》是一本非常棒的书,在这个层次上满足了我的需求,Wireshark是一个非常强大的工具,如何使用它也是一个头疼的事,这本书讲解TCP/IP相关的知识就是通过Wireshark来讲解的,所以在学习TCP/IP的同时,又能够学习Wireshark。一举两得。
学以致用,通过学习Wireshark,在思迪的炒股大赛项目中,成功的定位了问题。好吧,这次也是把锅甩给思迪。
七
需要学习的东西还很多,TCP/IP的知识还可以更深入的学习,一些新的知识也可以插进来学习,比如苹果在本月初已经全部改为IPV6了,IPV6未来也是一个趋势,也是值得学习的方向。
未来的路还很长。。。。。。