怎样才能分析好网络通信协议?

1. 理解最基本的协议,可以看下协议相关的RFC和BaiduGoogle的文档, 最重要的就是理解协议头在通信过程中的值的变化了,如果可以用类似于wireshark, 

 

tcpdump 来实际看一些协议数据会更加有帮助的,如果可以看类似于tcpdump这样软件的源码,找到相关协议的源码, 再去分析它,这样的话,对这个协议的

 

理解可能会更好。。如果自己还是程序员的话,而且还是网络应用程序员。。  可以看些相关协议的实现,如:分析FTP协议,可以看个简单的FTP的服务器和

 

客户端的源码,如:vsftpd和lftp,  如:分析ICMP协议,可以看下ping 程序的源码, 这样的话,基本上对协议的理解已经很深入了。这个阶段不出意外的话

 

,自己应该有能力定义新的通信协议,并且能够通过程序来实现整个协议的通信过程。 像一些网络游戏服务器,视频存储数据服务器。 一般就可以编写了。

 

呵呵。  当然自己要根据自己的需求,晋生到一定的级别就OK了,假如自己是系统管理员的话,那看源码神马的,没得必要啦。假如自己就是个学生,就想知

 

道这个协议是怎么回事,也不想分析它,就看看一些Baidu,Google那些文档,就OK了。。

 

2. 可能需要有足够的背景知识。 比如:分析tftp协议的时候,要知道这个协议是用来做什么的(简单的文件传输,在局域网内部), 以及自己知不知道 有

 

一个或多个应用程序支持这样的协议传输数据(linux 有tftp-hpa, windows 下有tfptd 32).  那自己会不会使用其中一个或多个。 当这一系列的背景知识

 

具备之后,就可以去分析这个软件的协议了。   不过,这可能只适合初学协议分析,当协议学习得多了,分析到二十种以上的时候,可能很多东西都浮云了,

 

只看到协议,只要一看协议就知道那些个程序是如何通信的了。这种能力在现实世界还是很有用的。

 

3. 你对协议敏感吗?能保持一颗平常心吗? 激动不?你歧视一些协议吗? 你心中有疑问吗?.......THINKING......

 

4. 永远要记住自己为什么进行协议分析? 为了学习一些网络协议的报文格式,还是为了查看当前网络是否有人攻击,还是想截获特定的协议的网络数据包?

 

还是为了开发某些解析特定协议的应用程序? 还是你想移植TCP/IP协议栈? 还是你想开发整个TCP/IP协议栈?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值