from blog.csdn.net/twingao/art…服务器
IP地址为192.168.1.16的NAS发送一个接入请求UDP报文给RADIUS服务器。表示 一个名为nemo的用户在端口3使用密码“arctangent”登陆。cookie
请求认证字(Request Authenticator)是一个NAS生成的16个字节的随机数。this
User-Password属性是占位16个字节的密码,末尾使用null填充满。而后再和 MD5(共享密码|请求认证字)异或。加密
01 00 00 38 0f 40 3f 94 73 97 80 57 bd 83 d5 cb
98 f4 22 7a 01 06 6e 65 6d 6f 02 12 0d be 70 8d
93 d4 13 ce 31 96 e4 3f 78 2a 0a ee 04 06 c0 a8
01 10 05 06 00 00 00 03
1 Code = Access-Request (1)
1 ID = 0
2 Length = 56
16 Request Authenticator
Attributes:
6 User-Name = "nemo"
18 User-Password
6 NAS-IP-Address = 192.168.1.16
6 NAS-Port = 3
复制代码
RADIUS服务器认证nemo用户,而后给NAS发送接入成功回应UDP报文,告诉NAS将 nemo用户telnet到主机192.168.1.3。spa
回应认证字(Response Authenticator)是一个16字节的MD5校验码,对代码域(2),标识符域(0),长度 域(38),上面的请求认证字,回应报文中的属性域以及共享密钥进行MD5加密 生成回应认证字。.net
02 00 00 26 86 fe 22 0e 76 24 ba 2a 10 05 f6 bf
9b 55 e0 b2 06 06 00 00 00 01 0f 06 00 00 00 00
0e 06 c0 a8 01 03
1 Code = Access-Accept (2)
1 ID = 0 (same as in Access-Request)
2 Length = 38
16 Response Authenticator
Attributes:
6 Service-Type (6) = Login (1)
6 Login-Service (15) = Telnet (0)
复制代码
IP地址为192.168.1.16的NAS发送接入请求UDP报文给RADIUS服务器,表示一个 flopsy用户使用PPP协议在端口20使用CHAP认证方式登陆。NAS发送了 Service-Type和Framed-Protocol属性,以提示RADIUS服务器该用户想使用PPP 协议,尽管NAS不须要这样作。code
请求认证字是一个NAS生成的16个字节的随机数,它也用来表示CHAP挑战字。blog
CHAP-Password属性由1个字节的CHAP ID(本例中为22)以及后面的16个字节的 CHAP回应组成。字符串
01 01 00 47 2a ee 86 f0 8d 0d 55 96 9c a5 97 8e
0d 33 67 a2 01 08 66 6c 6f 70 73 79 03 13 16 e9
75 57 c3 16 18 58 95 f2 93 ff 63 44 07 72 75 04
06 c0 a8 01 10 05 06 00 00 00 14 06 06 00 00 00
02 07 06 00 00 00 01
1 Code = 1 (Access-Request)
1 ID = 1
2 Length = 71
16 Request Authenticator
Attributes:
8 User-Name (1) = "flopsy"
19 CHAP-Password (3)
6 NAS-IP-Address (4) = 192.168.1.16
6 NAS-Port (5) = 20
6 Service-Type (6) = Framed (2)
6 Framed-Protocol (7) = PPP (1)
复制代码
RADIUS服务器认证flopsy用户,而后给NAS发送接入成功回应UDP报文,告诉NAS开始PPP服务,而且为用户从动态地址池中分配一个IP地址。get
回应认证字是一个16字节的MD5校验码,对代码域(2),标识符域(1),长度域(56),上面的请求认证字,回应报文的属性域以及共享密钥进行MD5加密生成回应认证字。
02 01 00 38 15 ef bc 7d ab 26 cf a3 dc 34 d9 c0
3c 86 01 a4 06 06 00 00 00 02 07 06 00 00 00 01
08 06 ff ff ff fe 0a 06 00 00 00 02 0d 06 00 00
00 01 0c 06 00 00 05 dc
1 Code = Access-Accept (2)
1 ID = 1 (same as in Access-Request)
2 Length = 56
16 Response Authenticator
Attributes:
6 Service-Type (6) = Framed (2)
6 Framed-Protocol (7) = PPP (1)
6 Framed-IP-Address (8) = 255.255.255.254
6 Framed-Routing (10) = None (0)
6 Framed-Compression (13) = VJ TCP/IP Header Compression (1)
6 Framed-MTU (12) = 1500
复制代码
IP地址为192.168.1.16的NAS发送一个接入请求UDP报文给RADIUS服务器,表示 一个mopsy用户要在端口7登陆,在本例中,假定用户输入密码“challenge”。 在本例中,由智能卡生成的挑战和回应分别是“32769430”和“99101462”。
请求认证字是一个由NAS生成的16个字节的随机数。
User-Password属性是占位16个字节的密码,在本例中,密码为 “challenge”,后面使用null填充满16个字节。而后再和MD5(共享密码|请求 认证字)异或。
01 02 00 39 f3 a4 7a 1f 6a 6d 76 71 0b 94 7a b9
30 41 a0 39 01 07 6d 6f 70 73 79 02 12 33 65 75
73 77 82 89 b5 70 88 5e 15 08 48 25 c5 04 06 c0
a8 01 10 05 06 00 00 00 07
复制代码
1 Code = Access-Request (1) 1 ID = 2 2 Length = 57 16 Request Authenticator
Attributes:
7 User-Name (1) = "mopsy"
18 User-Password (2)
6 NAS-IP-Address (4) = 192.168.1.16
6 NAS-Port (5) = 7
复制代码
RADIUS服务器决定挑战mopsy用户,须要发送回一个挑战字符串并等待回应,因 此RADIUS服务器发送了一个接入挑战UDP报文给NAS。
回应认证字是一个16字节的MD5校验码,对代码域(11),标识符域(2),长 度域(78),上面的请求认证字,回应报文的属性域以及共享密钥进行MD5加密 生成回应认证字。
Reply-Message属性值为“Challenge 32769430. Enter response at prompt.”。
State属性是一个随着用户的回应返回的神奇的cookie,在本例中是一个8个字节 的数据(33 32 37 36 39 34 33 30,十六进制)。
0b 02 00 4e 36 f3 c8 76 4a e8 c7 11 57 40 3c 0c
71 ff 9c 45 12 30 43 68 61 6c 6c 65 6e 67 65 20
33 32 37 36 39 34 33 30 2e 20 20 45 6e 74 65 72
20 72 65 73 70 6f 6e 73 65 20 61 74 20 70 72 6f
6d 70 74 2e 18 0a 33 32 37 36 39 34 33 30
1 Code = Access-Challenge (11)
1 ID = 2 (same as in Access-Request)
2 Length = 78
16 Response Authenticator
Attributes:
48 Reply-Message (18)
10 State (24)
复制代码
用户输入回应后,NAS发送一个新的携带该回应的接入请求报文,其中包括 State属性。
请求认证字是一个新的16字节随机数。
User-Password属性是用户回应的16字节字符串,在本例中为“99101462”,后 面用null填满16个字节,而后和MD5(共享密钥|请求认证字)异或
State属性是接入挑战报文中的神奇cookie,没有作修改。
01 03 00 43 b1 22 55 6d 42 8a 13 d0 d6 25 38 07
c4 57 ec f0 01 07 6d 6f 70 73 79 02 12 69 2c 1f
20 5f c0 81 b9 19 b9 51 95 f5 61 a5 81 04 06 c0
a8 01 10 05 06 00 00 00 07 18 10 33 32 37 36 39
34 33 30
1 Code = Access-Request (1)
1 ID = 3 (Note that this changes.)
2 Length = 67
16 Request Authenticator
Attributes:
7 User-Name = "mopsy"
18 User-Password
6 NAS-IP-Address (4) = 192.168.1.16
6 NAS-Port (5) = 7
10 State (24)
复制代码
回应是不正确的(为了举例之便),因此RADIUS服务器告诉NAS拒绝了试图的登 录。
回应认证字是一个16字节的MD5校验码,对代码域(11),标识符域(3),长 度域(20),上面的请求认证字,回应报文的属性域以及共享密钥进行MD5加密 生成回应认证字。
03 03 00 14 a4 2f 4f ca 45 91 6c 4e 09 c8 34 0f
9e 74 6a a0
1 Code = Access-Reject (3)
1 ID = 3 (same as in Access-Request)
2 Length = 20
16 Response Authenticator
Attributes:
(none, although a Reply-Message could be sent)
复制代码