上机教案2sniffer数据报文解码详解
- 格式:doc
- 大小:269.50 KB
- 文档页数:10
实训一、网络诊断工具Sniffer的使用一、Sniffer工具介绍概述Sniffer软件是NAI公司推出的功能强大的协议分析软件。
本文针对用SnifferPro网络分析器进行故障解决。
利用Sniffer Pro 网络分析器的强大功能和特征,解决网络问题,将介绍一套合理的故障解决方法。
与Netxray比较,Sniffer支持的协议更丰富,例如PPPOE协议等在Netxray并不支持,在Sniffer上能够进行快速解码分析。
Netxray不能在Windows 2000和Windows XP上正常运行,Sniffer Pro 4.6可以运行在各种Windows平台上。
Sniffer软件比较大,运行时需要的计算机内存比较大,否则运行比较慢,这也是它与Netxray相比的一个缺点。
功能简介下面列出了Sniffer软件的一些功能介绍,其功能的详细介绍可以参考Sniffer的在线帮助。
捕获网络流量进行详细分析利用专家分析系统诊断问题实时监控网络活动收集网络利用率和错误等在进行流量捕获之前首先选择网络适配器,确定从计算机的哪个网络适配器上接收数据。
位置:File->select settings选择网络适配器后才能正常工作。
该软件安装在Windows 98操作系统上,Sniffer可以选择拨号适配器对窄带拨号进行操作。
如果安装了EnterNet500等PPPOE软件还可以选择虚拟出的PPPOE 网卡。
对于安装在Windows 2000/XP上则无上述功能,这和操作系统有关。
本文将对报文的捕获几网络性能监视等功能进行详细的介绍。
下图为在软件中快捷键的位置。
捕获面板报文捕获功能可以在报文捕获面板中进行完成,如下是捕获面板的功能图:图中显示的是处于开始状态的面板捕获过程报文统计在捕获过程中可以通过查看下面面板查看捕获报文的数量和缓冲区的利用率。
捕获报文查看Sniffer 软件提供了强大的分析能力和解码功能。
如下图所示,对于捕获的报文提供了一个Expert 专家分析系统进行分析,还有解码选项及图形和表格的统计信息。
实验二、Sniffer的使用一、实验目的:Sniffer是一个完善的网络监听工具。
使用Sniffer的目的是截获通信的内容,同时能对数据包的内容进行协议分析,使同学们加深对IP协议、TCP协议、UDP协议和ICMP协议的认识。
二、实验环境与设备:安装有vmware和sniffer软件的计算机。
三、实验考核:按照实验手册的步骤,通过截图的方式完成实验报告。
四、实验步骤:1、设置Sniffer1.在抓包过滤器窗口中,选择Address选项卡。
2.窗口中需要修改两个地方:在Address下拉列表中,选择抓包的类型是IP,在Station1下面输入主机的IP地址;在与之对应的Station2下面输入虚拟机的IP地址.3.设置完毕后,点击该窗口的Advanced选项卡,拖动滚动条找到IP项,将IP和ICMP选中。
4.向下拖动滚动条,将TCP和UDP选中,再把TCP下面的FTP和Telnet两个选项选中。
5.这样Sniffer的抓包过滤器就设置完毕了,后面的实验也采用这样的设置。
选择菜单栏Capture下Start菜单项,启动抓包以后,在主机的DOS窗口中Ping虚拟机。
6.等Ping指令执行完毕后,点击工具栏上的停止并分析按钮。
7. 在出现的窗口选择Decode选项卡,可以看到数据包在两台计算机间的传递过程。
2、抓取Ping指令发送的数据包1.Sniffer的设置抓取Ping指令发送的数据包,命令执行如图所示。
2. 其实IP报头的所有属性都在报头中显示出来,可以看出实际抓取的数据报和理论上的数据报一致。
3、抓取TCP数据包1.启动Sniffer,然后在主机的DOS命令行下利用FTP指令连接目标主机上的FTP服务器,连接过程如图所示。
2.登录FTP的过程是一次典型的TCP连接,因为FTP服务使用的是TCP协议。
分析TCP报头的结构:3. TCP协议的三次“握手”在FTP的会话过程中也明显的显示出来。
4 .首先分析建立“握手”第一个过程包的结构5. SYN为1,开始建立请求连接,需要对方计算机确认6. 对方计算机确认返回的数据包如图所示。
使用Sniffer 工具进行TCP/IP分析实验过程与步骤任务一安装Sniffer Pro1. Sniffer技术简介Sniffer(嗅探器)就是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种技术。
该技术被广泛应用于网络维护和管理方面,它接收着来自网络的各种信息,通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况,以便找出所关心的网络中潜在的问题。
在正常情况下,网络接口卡读入一帧并进行检查,如果帧中携带的目的地址(这里的目的地址是指物理地址而非IP地址,该地址是网络设备的唯一性标志)和自己的物理地址一致或者是广播地址(就是被设定为一次性发送到网络所有主机的特殊地址,当目标地址为该地址时,所有的网络接口卡都会接收该帧),网络接口卡通过产生一个硬件中断引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理,否则就将这个帧丢弃。
如果网络中某个网络接口卡设置成“混杂”状态,网络接口卡会如何处理收到的帧呢?实际的情况是该网络接口卡将接收所有在网络中传输的帧,无论该帧是广播的还是发向某一指定地址的,这就形成了监听。
如果某一台主机被设置成这种监听模式,它就成了一个Sniffer。
鉴于Sniffer的工作原理,如果一个数据帧没有发送到你的网络接口卡上,那么你将无法监听到该帧。
所以Sniffer所能监听到的信息仅限于在同一物理网络内传送的数据,在使用了交换(路由)设备的网络中,由于其数据是根据目的地址进行分发的,单个的网络接口卡将无法监听到所有正在传输的信息。
2. 双击安装的可执行程序,开始运行安装程序。
3. 安装过程中,要填写一些注册信息,可以简要的填写,注意软件的序列号要填写正确。
图1-1 填写注册信息图1-2 填写注册信息4. 安装块结束时,会让你选择接入Internet的方式,可以根据实际情况选取。
图1-3 选择接入Internet的方式图1-4 完成安装5. 安装成功后,重新启动机器。
实验二、使用sniffer pro 进行网络分析一、实验目的1、学会用Sniffer Pro 网络分析器的主要功能;2、利用Sniffer Pro 网络分析器的强大功能和特征,解决网络故障和问题。
二、实验理论基础Sniffer 软件是NAI 公司推出的功能强大的协议分析软件。
Sniffer 支持的协议比较丰富,例如PPPOE 协议等在Netxray 并不支持,在Sniffer 上能够进行快速解码分析。
Sniffer Pro 4.6可以运行在各种Windows 平台上。
Sniffer 软件有如下主要功能: ● 捕获网络流量进行详细分析; ● 利用专家分析系统诊断问题; ● 实时监控网络活动; ● 收集网络利用率和错误等三、实验条件:LAN 、windows 系统、sniffer pro 软件 四、实验内容 4.1监听口的设置在进行流量捕获之前首先选择网络适配器,确定从计算机的哪个网络适配器上接收数据。
位置:File->select settings4.2 报文捕获解析捕获面板捕获停止捕获条件选择捕获捕获开始捕获暂停捕获停止并查看捕获查看编辑条件4.2.1 捕获过程报文统计在捕获过程中可以通过查看下面面板查看捕获报文的数量和缓冲区的利用率。
4.2.2 捕获报文查看Sniffer软件提供了强大的分析能力和解码功能。
如下图所示。
专家分析专家分析系统提供了一个智能的分析平台,对网络上的流量进行了一些分析对于分析出的诊断结果可以查看在线帮助获得。
在下图中显示出在网络中WINS查询失败的次数及TCP重传的次数统计等内容,可以方便了解网络中高层协议出现故障的可能点。
对于某项统计分析可以通过用鼠标双击此条记录可以查看详细统计信息且对于每一项都可以通过查看帮助来了解起产生的原因。
✧解码分析下图是对捕获报文进行解码的显示,通常分为三部分,目前大部分此类软件结构都采用这种结构显示。
对于解码主要要求分析人员对协议比较熟悉,这样才能看懂解析出来的报文。
sniffer课程设计一、课程目标知识目标:1. 学生能理解sniffer的基本概念,掌握其在网络通信中的作用和原理。
2. 学生能够描述sniffer的工作流程,了解数据包的结构和常用协议。
3. 学生掌握使用sniffer软件进行数据捕获和分析的方法。
技能目标:1. 学生能够独立安装和配置sniffer软件,进行基本的数据捕获操作。
2. 学生能够运用sniffer软件分析网络数据包,识别常见网络协议和问题。
3. 学生能够运用所学知识解决实际网络故障,提高网络维护和优化能力。
情感态度价值观目标:1. 学生通过学习sniffer课程,培养对网络安全的认识和责任感。
2. 学生在学习过程中,养成团队协作和问题解决的良好习惯。
3. 学生能够认识到网络技术在日常生活和学习中的重要性,激发对网络技术的兴趣。
课程性质:本课程为计算机网络技术实践课程,以实际操作为主,理论讲解为辅。
学生特点:学生为初中生,具备一定的计算机操作基础,对网络技术感兴趣,但缺乏深入理解。
教学要求:课程设计要注重实践性,让学生在实际操作中掌握知识,培养技能。
同时,注重培养学生的安全意识和团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 理论知识:- 计算机网络基础:介绍网络通信的基本概念、原理和常用术语。
- Sniffer原理:讲解sniffer的作用、工作流程和分类。
- 数据包结构:分析以太网帧结构、IP数据包、TCP/UDP协议等。
2. 实践操作:- Sniffer软件安装与配置:指导学生安装Wireshark等sniffer软件,并进行基本配置。
- 数据捕获与分析:教授如何使用sniffer软件捕获网络数据包,分析常见网络协议和问题。
- 实际案例分析:分析实际网络故障案例,让学生学会运用sniffer解决问题。
3. 教学大纲:- 第一课时:计算机网络基础、Sniffer原理。
- 第二课时:数据包结构、Sniffer软件安装与配置。
sniffer课程设计一、教学目标本课程的教学目标是使学生掌握Sniffer的基本原理和使用方法,能够运用Sniffer进行网络数据包的捕获和分析,了解网络通信的原理和过程。
1.了解Sniffer的定义和作用。
2.掌握Sniffer的基本原理和工作方式。
3.熟悉网络通信的基本概念和原理。
4.能够熟练地使用Sniffer进行网络数据包的捕获和分析。
5.能够对捕获到的数据包进行解读和分析,了解网络通信的过程和机制。
6.能够运用Sniffer解决实际的网络问题和故障。
情感态度价值观目标:1.培养学生对网络通信技术的兴趣和热情,提高学生对网络技术的认识和理解。
2.培养学生的问题解决能力和创新精神,使学生能够运用Sniffer解决实际问题。
二、教学内容本课程的教学内容主要包括Sniffer的原理和使用方法,网络通信的基本概念和原理,以及Sniffer在实际应用中的案例分析。
1.Sniffer的原理和使用方法:–Sniffer的定义和作用。
–Sniffer的基本原理和工作方式。
–Sniffer的使用方法和操作技巧。
2.网络通信的基本概念和原理:–网络通信的定义和原理。
–数据通信的基本概念和术语。
–网络协议和网络层的基本概念。
3.Sniffer在实际应用中的案例分析:–网络故障的诊断和分析。
–网络安全和攻击检测。
–网络性能的监测和优化。
三、教学方法本课程的教学方法主要包括讲授法、案例分析法和实验法。
1.讲授法:通过教师的讲解和讲解演示,向学生传授Sniffer的基本原理和使用方法,以及网络通信的基本概念和原理。
2.案例分析法:通过分析实际案例,使学生能够将所学的知识应用到实际问题中,提高学生的问题解决能力。
3.实验法:通过实验室的实践操作,使学生能够亲手操作Sniffer,进行网络数据包的捕获和分析,增强学生的实践能力和操作技能。
四、教学资源本课程的教学资源包括教材、实验设备和多媒体资料。
1.教材:选用适合学生水平的Sniffer教材,提供系统的知识学习和指导。
目录第1章 Sniffer软件简介1.1 概述1.2 功能简介第2章报文捕获解析2.1 捕获面板2.2 捕获过程报文统计2.3 捕获报文查看2.4 设置捕获条件第3章报文放送3.1 编辑报文发送3.2 捕获编辑报文发送第4章网络监视功能4.1 Dashbord4.2 Application Response Time (ART)第5章数据报文解码详解5.1 数据报文分层5.2 以太报文结构5.3 IP协议5.4 ARP协议5.5 PPPOE协议5.6 Radius协议第1章Sniffer软件简介1.1 概述Sniffer软件是NAI公司推出的功能强大的协议分析软件。
本文针对用Sniffer Pro网络分析器进行故障解决。
利用Sniffer Pro 网络分析器的强大功能和特征,解决网络问题,将介绍一套合理的故障解决方法。
与Netxray比较,Sniffer支持的协议更丰富,例如PPPOE协议等在Netxray并不支持,在Sniffer上能够进行快速解码分析。
Netxray不能在Windows 2000和Windows XP上正常运行,Sniffer Pro 4.6可以运行在各种Windows平台上。
Sniffer软件比较大,运行时需要的计算机内存比较大,否则运行比较慢,这也是它与Netxray相比的一个缺点。
1.2 功能简介下面列出了Sniffer软件的一些功能介绍,其功能的详细介绍可以参考Sniffer的在线帮助。
捕获网络流量进行详细分析利用专家分析系统诊断问题实时监控网络活动收集网络利用率和错误等在进行流量捕获之前首先选择网络适配器,确定从计算机的哪个网络适配器上接收数据。
位置:File->select settings选择网络适配器后才能正常工作。
该软件安装在Windows 98操作系统上,Sniffer可以选择拨号适配器对窄带拨号进行操作。
如果安装了EnterNet500等PPPOE软件还可以选择虚拟出的PPPOE网卡。
附录二:Sniffer使用简介Sniffer是用于高级分组检错的工具。
由于它可提供分组获取和译码的功能,它又是一个非常危险的黑客工具。
它还可以提供图形以确切的指出在网络中哪里正出现严重的业务拥塞。
在早期的以太网中,所有的通讯都是广播的,在同一个网段的所有网络接口都可以访问在物理媒体上传输的所有数据,而每一个网络接口都有一个唯一的MAC地址,这个地址用来表示网络中的每一个设备,一般来说每一块网卡上的MAC地址都是不同的。
在正常的情况下,一个网络接口应该只响应这样的两种数据帧:· 与自己硬件地址相匹配的数据帧。
· 发向所有机器的广播数据帧。
在一个实际的系统中,网卡接收到其它计算机传输来的数据,网卡查看接收数据帧的目的MAC地址,根据数据帧的目的MAC地址是否是自己的MAC地址来判断该不该接收,如果是自己的就接收,然后产生中断信号通知CPU,如果不是就丢掉不管,所以不该接收的数据网卡就截断了,计算机根本就不知道。
CPU得到中断信号产生中断,操作系统就根据网卡的驱动程序设置的网卡中断程序地址调用驱动程序接收数据,驱动程序接收数据后放入信号堆栈让操作系统处理。
而对于网卡来说一般有四种接收模式:· 广播方式:该模式下的网卡能够接收网络中的广播信息。
· 组播方式:设置在该模式下的网卡能够接收组播数据。
· 直接方式:在这种模式下,只有目的网卡才能接收该数据。
· 混杂模式:在这种模式下的网卡能够接收一切通过它的数据,而不管该数据是否是传给它的。
由上我们知道了在以太网中是基于广播方式传送数据的,也就是说,所有的物理信号都要经过我的机器,由于网卡可以置于一种模式叫混杂模式(Promiscuous),在这种模式下工作的网卡能够接收到一切通过它的数据,而不管实际上数据的目的地址是不是他。
这实际上就是我们Sniffer工作的基本原理:让网卡接收一切他所能接收的数据。
Sniffer 数据报文解码详解本章主要对:数据报文分层、以太报文结构、IP 协议、ARP 协议、PPPOE 协议、Radius 协议等的解码分析做了简单的描述,目的在于介绍Sniffer 软件在协议分析中的功能作用并通过解码分析对协议进一步了解。
对其其他协议读者可以通过协议文档和Sniffer 捕获的报文对比分析。
数据报文分层如下图所示,对于四层网络结构,其不同层次完成不通功能。
每一层次有众多协议组成。
如上图所示在Sniffer 的解码表中分别对每一个层次协议进行解码分析。
链路层对应“DLC ”;网络层对应“IP ”;传输层对应“UDP ”;应用层对对应的是“NETB ”等高层协议。
Sniffer 可以针对众多协议进行详细结构化解码分析。
并利用树形结构良好的表现出来。
以太报文结构EthernetII 以太网帧结构Ethernet_II 以太网帧类型报文结构为:目的MAC 地址(6bytes )+源MAC 地址+(6bytes )上层协议类型(2bytes )+数据字段(46-1500bytes)+校验(4bytes )。
添加时间戳目的上层协议Sniffer 自动MAC 地址源MAC 地址类型Sniffer 会在捕获报文的时候自动记录捕获的时间,在解码显示时显示出来,在分析问题时提供了很好的时间记录。
源目的MAC 地址在解码框中可以将前3字节代表厂商的字段翻译出来,方便定位问题,例如网络上2台设备IP 地址设置冲突,可以通过解码翻译出厂商信息方便的将故障设备找到,如00e0fc 为华为,010042为Cisco 等等。
如果需要查看详细的MAC 地址用鼠标在解码框中点击此MAC 地址,在下面的表格中会突出显示该地址的16进制编码。
IP 网络来说Ethertype 字段承载的时上层协议的类型主要包括0x800为IP 协议,0x806为ARP 协议。
应用层传输层网络层链路层Telnet FTP 和e-mail 等TCP 和UDP IP ICMP IGMP 设备驱动程序及接口卡Ethernet_II DMAC SMAC Type DATA/PAD FCSIEEE802.3以太网报文结构IEEE802.3帧结构IP协议IP报文结构为IP协议头+载荷,其中对IP协议头部的分析,时分析IP报文的主要内容之一,关于IP报文详细信息请参考相关资料。
Sniffer 数据报文解码详解本章主要对:数据报文分层、以太报文结构、IP 协议、ARP 协议、PPPOE 协议、Radius 协议等的解码分析做了简单的描述,目的在于介绍Sniffer 软件在协议分析中的功能作用并通过解码分析对协议进一步了解。
对其其他协议读者可以通过协议文档和Sniffer 捕获的报文对比分析。
1、数据报文分层如下图所示,对于四层网络结构,其不同层次完成不通功能。
每一层次有众多协议组成。
如上图所示:在Sniffer 的解码表中分别对每一个层次协议进行解码分析。
链路层对应“DLC ”;网络层对应“IP ”;传输层对应“UDP ”;应用层对对应的是“NETB ”等高层协议。
Sniffer 可以针对众多协议进行详细结构化解码分析。
并利用树形结构良好的表现出来。
2、以太报文结构EthernetII 以太网帧结构Ethernet_II 以太网帧类型报文结构为:目的MAC 地址(6bytes )+源MAC 地址+(6bytes )上层协议类型(2bytes )+数据字段(46-1500bytes)+校验(4bytes )。
应用层传输层网络层链路层Telnet FTP 和e-mail 等TCP 和UDP IP ICMP IGMP 设备驱动程序及接口卡Ethernet_IIDMAC SMAC Type DATA/PAD FCS添加时间戳目的上层协议Sniffer 自动MAC 地址源MAC 地址类型Sniffer 会在捕获报文的时候自动记录捕获的时间,在解码显示时显示出来,在分析问题时提供了很好的时间记录。
源目的MAC 地址在解码框中可以将前3字节代表厂商的字段翻译出来,方便定位问题,例如网络上2台设备IP 地址设置冲突,可以通过解码翻译出厂商信息方便的将故障设备找到,如00e0fc 为华为,010042为Cisco 等等。
如果需要查看详细的MAC 地址用鼠标在解码框中点击此MAC 地址,在下面的表格中会突出显示该地址的16进制编码。
对IP 网络来说Ether type 字段承载的上层协议的类型主要包括0x800为IP 协议,0x806为ARP 协议。
IEEE802.3以太网报文结构。
IEEE802.3帧结构上图为IEEE802.3SNAP 帧结构,与EthernetII 不通点是目的和源地址后面的字段代表的不是上层协议类型而是报文长度。
并多了LLC 子层。
3、IP 协议IP 报文结构为IP 协议头+载荷,其中对IP 协议头部的分析,时分析IP 报文的主要内容之一,关于IP 报文详细信息请参考相关资料。
这里给出了IP 协议头部的一个结构。
版本:4——IPv4首部长度:单位为4字节,最大60字节TOS:IP优先级字段总长度:单位字节,最大65535字节标识:IP报文标识字段标志:占3比特,只用到低位的两个比特MF(More Fragment)MF=1,后面还有分片的数据包MF=0,分片数据包的最后一个DF(Don't Fragment)DF=1,不允许分片DF=0,允许分片段偏移:分片后的分组在原分组中的相对位置,总共13比特,单位为8字节寿命:TTL(Time To Live)丢弃TTL=0的报文协议:携带的是何种协议报文1 :ICMP6 :TCP17:UDP89:OSPF头部检验和:对IP协议首部的校验和源IP地址:IP报文的源地址目的IP地址:IP报文的目的地址上图为Sniffer对IP协议首部的解码分析结构,和IP首部各个字段相对应,并给出了各个字段值所表示含义的英文解释。
如上图报文协议(Protocol)字段的编码为0x11,通过Sniffer解码分析转换为十进制的17,代表UDP协议。
其他字段的解码含义可以与此类似,只要对协议理解的比较清楚对解码内容的理解将会变的很容易。
4、ARP协议以下为ARP报文结构ARP分组具有如下的一些字段:HTYPE(硬件类型)。
这是一个16比特字段,用来定义运行ARP的网络的类型。
每一个局域网基于其类型被指派给一个整数。
例如,以太网是类型1。
ARP可使用在任何网络上。
PTYPE(协议类型)。
这是一个16比特字段,用来定义协议的类型。
例如,对IPv4协议,这个字段的值是0800。
ARP可用于任何高层协议。
HLEN(硬件长度)。
这是一个8比特字段,用来定义以字节为单位的物理地址的长度。
例如,对以太网这个值是6。
PLEN(协议长度)。
这是一个8比特字段,用来定义以字节为单位的逻辑地址的长度。
例如,对IPv4协议这个值是4。
OPER(操作)。
这是一个16比特字段,用来定义分组的类型。
已定义了两种类型:ARP请求(1),ARP回答(2)。
SHA(发送站硬件地址)。
这是一个可变长度字段,用来定义发送站的物理地址的长度。
例如,对以太网这个字段是6字节长。
SPA(发送站协议地址)。
这是一个可变长度字段,用来定义发送站的逻辑(例如,IP)地址的长度。
对于IP协议,这个字段是4字节长。
THA(目标硬件地址)。
这是一个可变长度字段,用来定义目标的物理地址的长度。
例如,对以太网这个字段是6字节长。
对于ARP请求报文,这个字段是全0,因为发送站不知道目标的物理地址。
TPA(目标协议地址)。
这是一个可变长度字段,用来定义目标的逻辑地址(例如,IP地址)的长度。
对于IPv4协议,这个字段是4字节长。
上面为通过Sniffer解码的ARP请求和应答报文的结构。
5、PPPOE协议PPPOE简介PPPoE(point to point protocol over Ethernet):以太网上的PPP。
在以太网上承载PPP协议(点到点连接协议,为在点对点连接上传输多协议数据包提供了一个标准方法)。
利用以太网将大量主机组成网络,通过一个远端接入设备连入因特网,并对接入的每一个主机实现控制、计费功能。
极高的性能价格比使pppoe在包括小区组网建设等一系列应用中广泛采用简单来说我们可能把PPPOE报文分成两大块,一大块是PPPOE的数据报头,另一块则是PPPOE的净载荷(数据域),对于PPPOE报文数据域中的内容会随着会话过程的进行而不断改变。
下图为PPPOE的报文的格式:数据报文最开始的4位为版本域,协议中给出了明确的规定,这个域的内容填充0x01。
紧接在版本域后的4位是类型域,协议中同样规定,这个域的内容填充为0x01。
代码域占用1个字节,对于PPPOE 的不同阶段这个域内的内容也是不一样的。
会话ID点用2个字节,当访问集中器还未分配唯一的会话ID给用户主机的话,则该域内的内容必须填充为0x0000,一旦主机获取了会话ID后,那么在后续的所有报文中该域必须填充那个唯一的会话ID值。
长度域为2个字节,用来指示PPPOE数据报文中净载荷的长度。
数据域,有时也称之为净载荷域,在PPPOE 的不同阶段该域内的数据内容会有很大的不同。
在PPPOE 的发现阶段时,该域内会填充一些Tag (标记);而在PPPOE 的会话阶段,该域则携带的是PPP 的报文。
捕获报文测试用例图如图所示,Radius Server IP 地址为172.16.20.76。
PPPOE 用户Radius 报文交互过程分析如下。
上图为PPPOE 从发现阶段到PPP LCP 协商,认证IPCP 协商阶段和PPPOE 会话阶段交互过程。
PPPOE 发现阶段,PADI 报文,Sniffer 解码结构如下所示。
发现阶段PPPOE PPPOE 以太网填TLV PPPOE PADI 报文发起端MAC 地址充字节PPPOE 报文结构PPPOE 会话阶段,Sniffer 解码结构如下所示。
PPPOEPPPOEPPP承载的PPPOE会话阶段协议头6bytes协议头2bytesIP协议报文Session ID号6、Radius协议Radius报文简介RADIUS:Remote Authentication Dial In User Service,远程用户拨号认证系统,是一项通用的认证计费协议。
标准Radius协议包结构图9 Radius包格式Code:包类型;1字节;指示RADIUS包的类型。
1 Access- request 认证请求2 Access- accept 认证响应3 Access- reject 认证拒绝4 Accounting-request 计费请求5 Accounting-response 计费响应*11 Access-challenge 认证挑战Identifier:包标识;1字节,取值范围为0 ~255;用于匹配请求包和响应包,同一组请求包和响应包的Identifier应相同。
Length:包长度;2字节;整个包中所有域的长度。
Authenticator:16 字节长;用于验证RADIUS服务器传回来的请求以及密码隐藏算法上。
该验证字分为两种:1、请求验证字---Request Authenticator用在请求报文中,必须为全局唯一的随机值。
2、响应验证字---Response Authenticator用在响应报文中,用于鉴别响应报文的合法性。
响应验证字=MD5(Code+ID+Length+请求验证字+Attributes+Key)Attributes:属性图10 属性格式属性域是TLV结构编码。
测试用例图下图为用户端PPPOE,Radius Server和BAS交互的认证上线和下线的过程。
报文1:BAS请求Radius Server认证报文。
报文2:Radius Server回应BAS认证通过报文。
报文3:BAS计费请求报文。
报文4:Radius Server计费响应报文。
报文5:BAS计费结束报文。
报文6:Radius Server计费结束响应报文。
从中可以看出对于报文请求和响应是通过IP地址+Radius 协议域中ID号进行配对识别的。
上图显示了BAS发起的Radius认证请求(Code=1)报文的结构。
Radius报文是承载在UPD协议之上的,这里我没不关注上层报文的结构。
下图为PPPOE CHAP认证过程的Radius认证请求报文和PPPOE中CHAP认证的Challenge报文。
通过比较可以方便看出BAS发出的Challenge值为“26fe8768341de68a72a1276771e1c1ca”与PPPOE中CHAP认证过程中BAS发给PPPOE用户的Challenge值是一致的。
BAS发给Radius的CHA P-Challenge属性下图为PPPOE用户发为BAS的经过CHAP加密后的用户密码和BAS发给Radius Server中认证请求报文用户秘密属性域的比较。
可以看出在Radius 认证过程中,BAS设备将Challenge属性和用户加密后的密码发给Radius进行验证。