公司最近使用Flex客户端采用remoting基于AMF协议进行交互,所以客户端与服务器之间的数据包,用原来fildder不能抓取,只能用wireshark或者sniffe或者国内的科来网络分析系统软件来解决抓取工作。
什么是AMF协议?
为了处理复杂数据类型,采用一种独有的方式使Flash与应用服务器间可以来回传送数据势在必行。于是AMF应运而生。AMF是Adobe独家开发出来的通信协议,它采用二进制压缩,序列化、反序列化、传输数据,从而为Flash 播放器与Flash Remoting网关通信提供了一种轻量级的、高效能的通信方式。
在学习抓包之前先给自己补充一些网络知识。数据包分析,通常被称为数据包嗅探或者协议分析,指的是捕获和解析网络在线传输数据的过程,通常目的是为了能更好地了解网络上正在发生的事情。数据包分析过程通常由数据包嗅探器来执行。流行的数据包分析软件有tcpdump,OmniPeek,wireshark。其中tcpdump是命令行程序,wireshark和Omnipeek则是拥有图形用户界面(GUI)。
下面是一些协议的介绍
介绍完一些协议后,下面来说下:数据包嗅探器工作原理
1-收集
收集原始二级制数据
2-转换
将二进制数据转换为可读形式数据。
3-分析
将捕捉到的数据进行输入,识别和验证他们的协议。
协议栈是一组协同工作的网络协议的逻辑组合。
OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 其中高层,即7、6、5、4层定义了应用程序的功能,下面3层,即3、2、1层主要面向通过网络的端到端的数据流。
OSI各层之间包含的协议
打开一个网站来来看一下这个过程中间经过了几层协议
正如:DNS协议架构与UDP之上而TCP架构与IP之上。
集线器工作于物理层(半双工)。
交换机工作于数据链路层。
路由器则工作于网络层。
下面说一下抓包工具wireshark
wireshark底层是基于libpcap/winpcap
对于wireshark不仅可以抓取本机网卡的包,还可以抓取其他计算机上的包可以通过(端口镜像、集线器接出、网络分流器、ARP欺骗等)实现。