一.LCP协商阶段GTM900→ISP(LCP REQ)
GTM900向ISP发送LCP REQUEST数据包
W: 7E //flag
FF //address
03 //control
C0 21 //协议域,0xC021表示LCP协议
01 //code,01代表configure_request
00 //标识符identifier
00 17 //长度
02 06 00 00 00 00 //表示选项的type为2,06为长度,00 0A 00 00表示ACCM选项的数据域.
05 06 76 39 51 79 //选项type为5,表示magic number,06为长度,后面的是内容
07 02 //选项type为7表示协议域压缩
08 02 //选项type为8表示地址控制域压缩
0D 03 06 //选项type为0D表示回调(Callback)
CA 93 //表示FCS
7E //flag
ISP→GTM900(LCP REJ)
ISP向GTM900发送LCP REJECT数据包,表明不支持Magic Number与Callback。
R: 7E
FF
03
C0 21
04 // 表示Configure-Reject
00 //标识符
00 0D //长度
05 06 76 39 51 79 //magic number(被拒绝的选项配置)
0D 03 06 //Callback(被拒绝的选项配置)
D9 EA //FCS
7E
GTM900→ISP(LCP REQ)
GTM900向ISP再一次发送LCP REQUEST数据包,此次取消了Magic Number与Callback
W: 7E
FF
03
C0 21
01 //configure_request
01 //标识符+1
00 0E // 长度
02 06 00 00 00 00 //表示选项的type为2,06为长度,00 00 00 00表示ACCM选项的数据域.
07 02 //协议域压缩
08 02 //地址控制域压缩
70 34 //FCS
7E
ISP→GTM900(LCP Ack)
经过协商,ISP接受了GTM900的请求
R: 7E
FF
03
C0 21
02 // Configure-Ack
01 //标识符
00 0E //长度
02 06 00 00 00 00 //表示选项的type为2,06为长度,00 00 00 00表示ACCM选项的数据域
07 02 //协议域压缩
08 02 //地址控制域压缩
4E B7 //FCS
7E
ISP→GTM900(LCP REQ)
ISP向GTM900发送一个LCP REQUEST,表明要选择CHAP验证方式
R: 7E
FF
03
C0 21
01 //Configure-Request
09 //标识符
00 13 //长度
02 06 00 00 00 00 //表示选项的type为2,06为长度,00 00 00 00表示ACCM选项的数据域
03 05 C2 23 05 //C2 23(CHAP,挑战握手验证协议) 05(MD5算法)
07 02 //协议域压缩
08 02 //地址控制域压缩
18 EF //FCS
7E
GTM900→ISP(LCP Ack)
GTM900接受了ISP的请求
W: 7E
FF
03
C0 21
02 //Configure-Ack
09 //标识符
00 13 //长度
02 06 00 00 00 00 //表示选项的type为2,06为长度,00 00 00 00表示ACCM选项的数据域
03 05 C2 23 05 //C2 23(CHAP,挑战握手验证协议) 05(MD5算法)
07 02 //协议域压缩
08 02 //地址控制域压缩
D2 52 //FCS
7E
二.CHAP验证阶段
ISP→GTM900(CHAP Challenge)
协商完成后,ISP开始对GTM900发出挑战数据包,内容包括:
⒈ 01所在的字段是类型字段,01表示这是一个挑战。
⒉ ID字段表示这次挑战的序列号。
⒊ 随机数字
⒋ 用户名字段,用于对方根据该名称查找对应的PASSWORD。
在发出这个挑战包后,ISP在自己的路由器里保存了ID和随机数字值,供下面的MD5计算用。
R: 7E
C2 23 //挑战握手认证协议 CHAP
01 //代码段 01代表挑战 Challenge
05 //标识符 id
00 3E //长度
39 //value值大小
53 2F B5 26 40 0A 98 FD BA 94 B9 82 0F B5 D6 A6 CC 8B E8 B4 EA 2A 30 75 B7 14 07 05 86 77 63 73 16 29 28 1C C3 64 35 C4 6F 41 29 79 2E F5 F9 28 B3 CF 33 FC 7D 5E ED 0F 7A C3 //value 随机数字
E8 C0 //用户名字段,用于对方根据该名称查找对应的PASSWORD
7E
GTM900→ISP
GTM900要求LCP标识请求
W: 7E
C0 21 //LCP
0C //code 0C代表Identification(LCP标识请求)
02 //标识
00 12 //长度
76 39 51 79 //Magic Number
4D 53 52 41 53 56 35 2E 31 30 //Message: MSRASV5.10
8A 16 //FCS
7E
W: 7E
C0 21 //LCP
0C //Identification
03 //标识
00 1F //长度
76 39 51 79 //Magic Number
4D 53 52 41 53 2D 30 2D 36 32 46 38 45 43 39 36 37 32 38 33 34 41 33 //Message: MSRAS-0-62F8EC9672834A3
9F B8 //FCS
7E
GTM900→ISP(CHAP Response)
GTM900接到了挑战包,它从挑战数据包中搜集ID值,随机数字值,并根据包中的用户名,在自己的数据库查找对应密码,将上面三个信息使用MD5进行计算,获得一个HASH值,并产生一个挑战回应数据包,它包含:
⒈类型字段,02表示应答(Response)
⒉ID值,从挑战包中直接复制过来
⒊HASH,经MD5计算得出
⒋用户名字段,供ISP查找密码用
W: 7E
C2 23 //CHAP
02 //应答 Response
05 //标识
00 15 //长度
10 //value值大小
50 88 75 E3 27 1C E6 80 80 2C B5 CF 17 B0 AB 14 //value值:经MD5计算后获得的hash值
5D 30 //用户名字段
7E
ISP→GTM900
ISP拒绝GTM900的LCP表示请求
R: 7E
FF
03
C0 21 //LCP
07 //Code-Reject
09 //标识
00 16 //长度
0C 02 00 12 76 39 51 79 4D 53 52 41 53 56 35 2E 31 30 //被reject的代码内容
10 5E //FCS
7E
R: 7E
FF
03
C0 21 //LCP
07 //Code-Reject
0A //标识
00 23 //长度
0C 03 00 1F 76 39 51 79 4D 53 52 41 53 2D 30 2D 36 32 46 38 45 43 39 36 37 32 38 33 34 41 33 //被reject的代码内容
36 DD //FCS
7E
ISP→GTM900(CHAP Success)
ISP接到回应包,并从回应包中抽取用户名,并查找到对应的密码,然后利用之前保存的ID,随机数字以及查到的密码来计算自己的HASH,然后将自己计算得到的HASH与回应中的HASH比较,如果相同,验证成功.如果不同验证失败。
7E
C2 23 //CHAP
03 //成功 Success
05 //标识
00 04 //长度
A3 DF //FCS
7E
GTM900→ISP
GTM900请求ccp协议
W: 7E
80 FD //code :80 FD代表ccp协议
01 // Configure-Request
04 //标识
00 0A //长度
12 06 00 00 00 01 //
C3 2F //FCS
7E
ISP→GTM900
ISP拒绝了GTM900要求ccp协议的请求
R: 7E
FF
03
C0 21 //LCP
08 // Protocol-Reject
05 //标识
00 10 //长度
80 FD 01 04 00 0A 12 06 00 00 00 01 //拒绝的协议内容
F7 F6 //FCS
7E
三.IPCP协商阶段
GTM900→ISP(IPCP REQ)
GTM900请求ISP为其分配IP,Dns1,Dns2,请求标识:05
W: 7E //flag
80 21 //协议域 0x8021表示信息字段是网络控制数据IPCP
01 //Configure-Request
05 //标识符
00 28 // 长度
02 06 00 2D 0F 01 //ip压缩协议
03 06 00 00 00 00 //local IP
81 06 00 00 00 00 //DNS1
82 06 00 00 00 00 //NBNS
83 06 00 00 00 00 //DNS2
84 06 00 00 00 00 //NBNS
3E 6F //FCS
7E
ISP→GTM900(IPCP REQ)
ISP向GTM900请求,标识09
R: 7E
80 21 //IPCP
01 //Configure-Request
09 //标识符
00 04 //长度
79 5F //FCS
7E
ISP→GTM900(IPCP REJ)
ISP拒绝GTM900标识为05的请求,拒绝的款项在选项中列出
R: 7E
80 21 //IPCP
04 //Configure-Reject
05 //标识符
00 16 //长度
02 06 00 2D 0F 01 //ip压缩协议
82 06 00 00 00 00 //NBNS
84 06 00 00 00 00 //NSNS
1C 0F //FCS
7E
GTM900→ISP(IPCP Ack)
GTM900同意标识为09的ISP的请求
W: 7E
80 21 //IPCP
02 //Configure-Ack
09 //标识符
00 04 //长度
B4 7A //FCS
7E
GTM900→ISP(IPCP REQ)
继上次被ISP拒绝后,GTM900再次发送请求,这次的选项中删除了被ISP拒绝的部分。
W: 7E
80 21 //IPCP
01 //Configure-Request
06 //标识符
00 16 //长度
03 06 00 00 00 00 //local ip
81 06 00 00 00 00 // dns1
83 06 00 00 00 00 // dns2
0A CF //FCS
7E
ISP→GTM900(IPCP Nak)
ISP为GTM900分配ip,dns1,dns2地址
R: 7E
80 21 //IPCP
03 //Configure-Nak
06 //标识符
00 16 //长度
03 06 0A 62 5E B2 //ip 10.98.94.178
81 06 D3 88 14 CB //dns1 211.136.20.203
83 06 D3 88 11 6B //dns2 211.136.17.107
79 B6 //FCS
7E
GTM900→ISP(IPCP REQ)
GTM900将分配好的ip,dns1,dns2地址发给ISP请求其确认
W: 7E
80 21 //IPCP
01 //Configure-Request
07 //标识符
00 16 //长度
03 06 0A 62 5E B2 //ip 10.98.94.178
81 06 D3 88 14 CB //dns1 211.136.20.203
83 06 D3 88 11 6B //dns2 211.136.17.107
BE DB //FCS
7E
ISP→GTM900(IPCP Ack)
ISP确认GTM900要求,协商结束。
R: 7E
80 21 //IPCP
02 //Configure-Ack
07 //标识符
00 16 //长度
03 06 0A 62 5E B2 //ip 10.98.94.178
81 06 D3 88 14 CB //dns1 211.136.20.203
83 06 D3 88 11 6B //dns2 211.136.17.107
48 28 //FCS
7E
浙公网安备 33010602011771号