从新手到入门,如何进入协议分析的世界

 协议分析与还原自学及入门指南。


有部分朋友给我发消息,说对协议还原很感兴趣,但苦于没人指导,希望得到我的帮助,问我如何进行协议分析的学习。


这篇文章从初学者的角度,编列了一个学习指南,希望能对协议分析的朋友朋友们有所帮助。


01

学习指南


对协议分析而言,打交道的是网络流量,因此,对网络协议的了解是一切的基础。学习指南第一部分,将告诉你需要学习的网络协议知识:

1、TCP/IP协议的学习

 对接受过高等教育的朋友而言,TCP/IP协议应该不陌生,这里提出来,是为了让大家对一些重点知识进行确认。

学习的重点如下:

掌握IP、TCP、UDP这些协议的区别和联系;

理解协议的分层机制和各层之间的关系;

熟悉协议的交互流程,如TCP三次握手等

了解IP地址和端口的功能和作用


2、应用层协议的学习

应用层是传输承载内容的所在,协议还原的本质就是要将这些应用层的数据提取出来。应用层数据千变万化,协议数量和种类很多,但对一些常见协议如HTTP,DNS,SSL的熟悉,对协议分析技能的提高会有很大的帮助。

学习的重点如下:

掌握HTTP协议的原理、方法、应用场景、数据格式及各个字段和值的含义;

掌握DNS协议的原理、机制、特征及各个数据段的含义;

掌握SSL协议的原理、交互流程及数据特征。

同时,对应用层协议的学习不能局限于协议本身,同时需要关注其细节,例如HTTP协议的请求和响应体内数据的编码,格式等知识。


对网络知识的学习,可留意本公号的相关文章。


学习完网络知识,还远远没有入门,还需要熟练使用和掌握各类抓包工具和分析方法,学习指南第二部分,将告诉需要学习的抓包工具和分析方法

1、Wireshark

 这是一个功能强大的报文工具,具备友好的用户界面,使用非常普遍,除了最初级的抓包、导流、搜索、保存等基本功能外,还应掌握各种过滤、显示和统计等高级功能。


2、Fiddler

这个工具主要是用于HTTP和HTTPS协议的分析,一些抓包和分析的具体方法需要掌握牢。


3、tcpdump

这是Linux下的抓包工具,它的各种参数需要熟悉。


4、一些方法

对分析工具的使用中,需要学会下列方法,以提高效率:

从大量报文中找到特定IP或其它特征的流量;

定位特定应用或特定动作产生的流量;

从海量报文中找到有价值的信息。


对工具的使用,可以参考本公号菜单栏的工具技巧栏目。


学习完网络知识和工具使用,还没完,需要在此基础上更深入一层,对数据的编码和解码有一定了解,学习指南第三部分,将告诉你一些需要学习的编码知识

1、常见的编码

gzip

URL

json

MIME

UTF8

JS

protobuf

xml

BASE64


2、关注点

各个编码的特点,特征及常用场合。


本公号内,也有部分编码知识的介绍。


在对前面提到的知识学习好之后,学习指南的最后一部分,第四部分,将告诉你接下来需要做什么

实战实战实战,重要的事要说三遍。


实战需要从两个方面入手:

1、找一个APP,去抓包,分析它产生的报文,尝试从报文中提取有价值的信息,发现一些规律。


2、找一个报文分享的网站,下载一些标准协议的报文文件,拓展协议知识的边界,会发现,前面学习的协议知识,只是协议海洋里很小的一部分。


02


结语


按照前一章进行了入门级学习以后,你就可以独立进行简单的协议分析任务了,然后,就需要在此基础上边应用边学习了,关键是需要做到融会贯通,以一反三


同时,还要时刻记得,协议不是一成不变的,社会发展很快,科技发展更快,想跟进时代的潮流,要保持一颗学习之心。


大家一起进步,共同提高吧。

640?wx_fmt=jpeg

长按进行关注。





原文地址:https://www.cnblogs.com/protosec/p/11673333.html