iSniffer抓包分数据包分析手册前言现在大家在一线解决故障过程中,经常会利用sniffer软件来分析网络中的数据包,从而为故障的解决及相关的部门(如研发)提供更有说服力的数据。应该来说,sniffer的包文对于解决问题确实起到了很大的作用,但很多时候有些人所提供的sniffer数据包什么数据都抓,很混,要花很大的力气才能对看明白该数据包,另外,很多时候没有给出相应的抓包的网络拓扑图,数据包中的源端口、目的端口、IP地址等方面的说明,这样不利于相关人员的分析和定位。为此,我做个这方面的case,供大家参考,望大家能够提供更有价值的数据给相关的人员。ii认证客户端与NAS设备(交换机)报文交互一、捕获数据包拓扑图:二、捕获数据包的目的:1、捕获认证客户端电脑(192.168.0.241/24)与S2126G交换机交互的报文;2、捕获S2126G交换机与SAMII服务器(192.168.0.232)交互的报文;三、所捕获得到的sniffer报文的文件命名:请尽可能采用一目了然的文件名,即从文件名即可以大概知道该sniffer的报文的内容;同时,对于每个sniffer文件,请用一个readme.txt简短地说明,这样便于相关的人员能够更好地知道sniffer报文的内容;四、交换机的配置:showrunBuildingconfiguration...Currentconfiguration:633bytesversion1.0hostnameSwitchradius-serverhost192.168.0.232aaaauthenticationdot1xaaaaccountingserver192.168.0.232F0/16F0/2认证客户端电脑192.168.0.241/16MAC:0040-050c-0AC4SAMII服务器192.168.0.232/24MAC:S2126G交换机192.168.0.244/24MAC:00D0-F8EF-99DCiiiaaaaccountingenablesecretlevel15%2,1u_;C34-8U0D4'.tj9=GQ+/7R:Henablesecretlevel155%2-aeh`@34'dfimL4t{bcknAQ7zyglowinterfacefastEthernet0/16dot1xport-controlautointerfacevlan1noshutdownipaddress192.168.0.249255.255.255.0radius-serverkeystartipdefault-gateway192.168.0.254五、开始捕获认证客户端电脑与S2126G交换机交互报文时,sniffer程序的设置准备:由于我们只关心认证客户端电脑与S2126G交换机之间的报文,因此我们需要将其他电脑或交换机所发的广播等报文过过滤掉,而交换机与认证客户端之间报文的交互,都是通过二层的MAC地址来进行的,因此我们要设置sniffer程序的捕获条件,即定义“定义捕获数据过滤板”,设置过程如下:在主菜单,选择Capture(捕获),选中Definefilter(定义过滤器)。在DefineFilter(定义过滤器)中的Address(地址)的Address(地址类型)选择Hardware;Mode(模式)选择Include(包含);在Station1(位置1)输入认证客户端电脑的网卡MAC地址:0040-050c-0ac4,Station2(位置2)输入交换机的MAC地址00d0-f8ef-99dc,选择捕获双向数据流;然后有在Station1(位置1)输入认证客户端电脑的网卡MAC地址:0040-050c-0ac4,在Station2(位置2)输入组播地址:0180-C200-0003(注:此组播地址为我们客户端私有组播地址),选择捕捉双向数据流。然后选择Capture(选择过滤器)中的SelectFilter中的Default,具体的操作如图所示:ivvvi六、单击sniffer软件左上角的“开始”按键,开始捕获数据:七、运行客户端软件,开始认证;八、停止捕获,则选择“捕获-Æ停止并显示”:vii九、保存捕获所得到的数据包文件,SNIFFER主菜单FILE选项的选择SAVEAS,选择一个保存位置,输入保存的文件名称,保存文件,此处,所采用的文件名为:pc_nas(注:在取文件名时,请尽可能采用一目了然的文件名,这样便于分析)十、分析捕获所得到的数据包:1、首先分析客户端软件发起认证时的802.1XEAPOL-START数据包viii报文说明:A、一般来说,由客户端发起一个带有组播地址为0180-C200-0003的EAPOL-START数据帧。B、在数据包中,整个EAPOL数据包封装在普通802.3以太网帧中。首先是一个普通以太网相关的源MAC地址和目的MAC地址,其中目的MAC地址是802.1X协议申请了一个组播地址0180-C200-0003。后面是802.1X协议包头内容:(1)802.1X协议版本:00000001;(2)802.1X报文类型:00000001表示是一个EAPOL-START报文;(3)802.1X报文长度为0,表示是PACKETBODYFIELD没有实际内容,全部采用零来填充。(4)在802.1X报文中,版本字段长度是一个字节,指明现今EAPOL的版本号,一般来说填充的是:000000001。(4)包类型字段(PacketType):其中长度为一个字节,表示的正在传输包的类型,主要有以下几种数据类型:1、EAP-PACKET:00000000表示的是一个EAP数据包。2、EAPOL-START:00000001表示的是一个EAPOL-START帧。3、EAPOL-LOGOFF:00000010表示的是一个EAPOL-LOGFF帧。4、EAPOL-KEY:00000010表示的一个EAPOL-KEY帧。2、NAS设备发送一个对EAPOL-START响应EAP请求数据帧(请求相关信息)ix说明:1)802.1XVersion=1表示当前的802.1X协议版本是1。2)802.1XPacketType=0表示的是802.1X,PACKETDATA的内容是:一个EAP数据包。3)EAP:Code=1表示是一个请求数据包。4)EAPIdentifier=1EAP标识是1。5)EAPData后面跟随的是数据内容。3、客户端Suppliant发送对前一个EAP请求数据帧进行响应,采用EAP数据帧的方式发送客户端的请求信息(用户名)。x说明:1、802.1XPacketType=0表示一个EAP数据包2、EAP:Code=2表示一个EAP响应数据包3、EAP:Message=“hhh”表示请求的用户名是hhh。4、NAS发起一个对客户端的EAP-MD5挑战信息数据包。解释:其中在EAPDATA里面:1)EAPType=4表示的是MD5_challengetype,表示请求相关的MD5挑战认证的相xi关信息。5、客户端对MD5_challenge挑战信息进行响应,发送一个响应数据包。6、NAS发送一个成功的消息给认证客户端,并且把相关NAS数据逻辑端口给打开。说明:EAPCode=3表示成功认证的数据包。7、断开客户端的连接时,客户端发送一个EAPOL-LOGOFF报文给NASxii8、NAS发送一个失败响应数据包对客户端发送一个EAPOL-LOGOFF报文响应。说明:EAPCode=4表示失败认证的消息。xiiiNAS到SAMII报文交互步骤一:定义Sniffer捕获过滤表在Sniffer的菜单中选择捕获项(Capture)中的定义过滤表(definefliter),如图:在地址卡(Address)中进行定义,具体规则如下:在地址类型(address)项中选择:IPxiv如图所示:在模式(Mode)中选择:包含(Include)如图所示xv在工作站(Station)选择:Station1设置为NAS的IP地址,Statio2设置为Radius服务器IP地址如图所示:xvi在数据传输方向(dir)上选择:双方向如图所示:xvii步骤二:捕获端口的选择:xviii对NAS的上联端口进行双向的数据流进行捕获(如图所示),上连端口为连接上层交换机的端口,此口为非受控口,一般选择交换机的第一个端口或昀后一个端口。将此口镜像到交换机的其他端口上,然后利用装有Sniffer软件的PC进行数据捕获。步骤三:典型的交换机与SAM服务器认证交互的数据包分析:交换机与SAM服务器进行认证交互分为以下四个阶段:如图所示,将有四种类型的数据包:xix交换机(NAS)向Radius服务器发起接入请求(RADIUSAccess-request)数据包如图:xx该数据包由以下特征:1.在IP的内容中,源地址(sourceaddress)为交换机(NAS)的IP地址,目的地址(destinationaddress)为SAM服务器的IP地址。在UDP的内容中,源端口(sourceport)为1812,目的端口(destinationport)为1812。在Radius的内容中,code的值标识为1,含义为接入请求。在Radius的内容中,Identifier的值为1,含义为第一次接入请求。具备以上特征的数据包认定为交换机(NAS)向SAM服务器发起的接入请求包(RADIUSAccess-request)。二.SAM服务器向交换机(NAS)发送的接入询问数据包(RADIUSaccess-challenge)数据包如图:xxi该数据包由以下特征:1.在IP的内容中,源地址(sourceaddress)为SAM服务器的的IP地址,目的地址(destinationaddress)为的交换机(NAS)IP地址。UDP的内容中,源端口(sourceport)为1812,目的端口(destinationport)为1812。Radius的内容中,code的值标识为11,含义为由SAM服务器向交换机发出的接入询问。Radius的内容中,Identifier的值为1,表示这个包是SAM服务器向交换机的第一个接入请求包作出的响应。具备以上特征的数据包认定为SAM服务器向交换机(NAS)发送的接入询问数据包(RADIUSaccess-challenge)。三.交换机(NAS)向SAM服务器发起的第二次接入请求(RADIUSAccess-request)数据包如图:xxii该数据包有以下特征:1.在IP的内容中,源地址(sourceaddress)为交换机(NAS)的IP地址,目的地址(destinationaddress)为SAM服务器的IP地址。UDP的内容中,源端口(sourceport)为1812,目的端口(destinationport)为1812。3.Radius的内容中,code的值标识为1Radius的内容中,Identifier的值为2,说明该数据包为二次请求包。具备以上特征的数据包认定为交换机(NAS)向SAM服务器发起的二次接入请求包(RADIUSAccess-request)。四.SAM服务器向交换机(NAS)发送的接入允许包(RADIUSaccess-accept)数据包如图:xxiii该数据包由以下特征:1.在IP的内容中,源地址(sourceaddress)为Radius服务器的的IP地址,目的地址(destinationaddress)为的交换机(NAS)IP地址。UDP的内容中,源端口(sourceport)为1812,目的端口(destinationport)为1812。Radius的内容中,code的值标识为2,含义为SAM服务器向交换机(NAS)发送的值为允许。Radius的内容中,Identifier的值为2,含义为SAM服务器向NAS进行的二次响应。具备以上特征的数据包认定为Radius服务器向交换机(NAS)发送的接入允许数据包(RADIUSaccess-ac