一、环境
radius服务器:192.168.100.21,raidius客户端192.168.100.16
认证时在radius服务器上抓取认证交互时的数据包。
二、协议分析
1.RADIUS报文格式
RADIUS报文介绍各字段的解释如下:
l Code:长度为1个字节,用来说明RADIUS报文的类型。不同RADIUS报文的Code值不相同。例如,Code为1时表示Access-Request报文,Code为2时表示Access-Accept报文。
l Identifier:长度为1个字节,用来匹配请求报文和响应报文,以及检测在一段时间内重发的请求报文。客户端发送请求报文后,服务器返回的响应报文中的Identifier值应与请求报文中的Identifier值相同。
l Length:长度为2个字节,用来指定RADIUS报文的长度。超过Length取值的字节将作为填充字符而忽略。如果接收到的报文的实际长度小于Length的取值,则该报文会被丢弃。
l Authenticator:长度为16个字节,用来验证RADIUS服务器的响应报文,同时还用于用户密码的加密。
l Attribute:不定长度,为报文的内容主体,用来携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节。Attribute可以包括多个属性,每一个属性都采用(Type、Length、Value)三元组的结构来表示。
n 类型(Type),1个字节,取值为1~255,用于表示属性的类型。
n 长度(Length),表示该属性(包括类型、长度和属性)的长度,单位为字节。
n 属性值(Value),表示该属性的信息,其格式和内容有类型和长度决定,最大长度为253字节。
2.radius报文类型,主要分别认证报文和计费报文。
(1)认证报文
(2)计费报文
3.RADIUS报文认证计费交互流程
接入设备作为RADIUS客户端,负责收集用户信息(例如:用户名、密码等),并将这些信息发送到RADIUS服务器。RADIUS服务器则根据这些信息完成用户身份认证以及认证通过后的用户授权和计费
三、抓包分析
在radius服务器抓包,查看认证时的数据包交互过程
1.请求报文
2.认证失败应答
3.认证成功应答