阅读:2007回复:0
PPP协议分析.LCP协议分析.请大家来考证考证.
下面是我用MC35T模块向ISP拨号(ATD *99**1#)后的返回代码:
41 54 44 20 2A 39 39 2A 2A 2A 31 23 0D 0D 0A 43 4F 4E 4E 45 43 54 0D 0A 一 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 二 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 三 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 四 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 五 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 六 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 七 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 八 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 九 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 十 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 结束 0D 0A 4E 4F 20 43 41 52 52 49 45 52 0D 0A 其中的汉字一,二,三,四.....一直到十和最后的结束都是我加上去的.表示ISP十次返回相同的PPP帧.第一帧前面的代表 CONNECT 结束后面的代表 NO CARRIER 由于十个帧都一样,所以我取出一个分析.完整帧如下: 7E FF 7D 23 C0 21 7D 21 7D 23 7D 20 7D 3D 7D 21 7D 24 7D 27 D0 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 25 7D 26 4B 4F 21 5F 7D 23 7D 25 C2 23 7D 25 83 7D 25 7E 整个帧中的所有小于0x20的字符都进行了转义.在前面加上0x7D然后将其第6个比特取补码.所以我去掉所有的转义字符后得到的原始 帧为 7E FF 03 C0 21 01 03 00 1D 01 04 07 D0 02 06 00 0A 00 00 07 02 08 02 05 06 4B 4F 21 5F 03 05 C2 23 05 83 25 7E 7E开始7E结尾.FF是地址字节.03为控制字节.C0 21表示信息字段是链路控制数据.C021后面是链路控制数据.一直到83 25(2个CRC字段) 7E结尾. 链路控制数据分析如下: 01:REQ - Request options 03:ID for this packet 00 1D:Size of payload starting from negotiation code 01:Option 1, Maximum-Receive-Unit 04:Size of option 1, 4 Bytes 07 D0:Option value requested, MRU = 2000 02:Option 2, Async-Control-Character-Map 06:Size of option 2, 6 Bytes 00 0A 00 00:Value of Async-Control-Character-Map 07:Option 7, Protocol-Field-Compression 02:Size of option 7, 2 Bytes 08:Option 8,Address-and-Control-Field-Compression 02:Size of option 8, 2 Bytes 05:Option 5, Magic number 06:Size of option 5, 6 Bytes 4B 4F 21 5F:Value of magic number 03:Option 3,Authentication-Protocol 05:Size of option 3, 5 Bytes C2 23 05:Value of Authentication-Protocol 好了.问题出来了. 1.我对这一段有想法: 02:Option 2, Async-Control-Character-Map 06:Size of option 2, 6 Bytes 00 0A 00 00:Value of Async-Control-Character-Map 在RFC1661中并没有关于Option 2 Async-Control-Character-Map的定义,只有如下东西: 0 RESERVED 1 Maximum-Receive-Unit 3 Authentication-Protocol 4 Quality-Protocol 5 Magic-Number 7 Protocol-Field-Compression 8 Address-and-Control-Field-Compression 而Async-Control-Character-Map 是我根据一个 Connecting an M68HC08 Family Microcontroller to an Internet Service Provider (ISP) Using the Point-to-Point Protocol (PPP) 中的例子描述得来的.RFC1661中没有关于Option 2 的定义.那是不是 我分析控制数据分析错误了呢? 2. 07:Option 7, Protocol-Field-Compression 02:Size of option 7, 2 Bytes 08:Option 8,Address-and-Control-Field-Compression 02:Size of option 8, 2 Bytes 是ISP和我商讨压缩.好理解. 3.Magic number 05:Option 5, Magic number 06:Size of option 5, 6 Bytes 4B 4F 21 5F:Value of magic number ISP发这个给我,是想检测是否存在loopback.当接收到一个带有Magic-Number配置选项的Configure-Request时候,接收到的Magic-Number与最后 一个发送给peer的Configure-Request的Magic-Number相比较。如果两个Magic-Number不同,则该链路不被looped-back,而且Magic-Number应该 被确认。如果两个Magic-Number相等,那么有可能,但是不确定,该线路是looped-back,并且该Configure-Request实际上是上一次发送的。为 了确认它,必须发送一个Configure-Nak指定一个不同的Magic-Number值。一个新的Configure-Request应该不被发送到peer,直到一般处理导致 它的发送(那就是说,直到收到一个Configure-Nak或者Restart计时器溢出)。 我和ISP之间显然不存在loopback.所以我必须发送一个Configure-Nak指定一个不同的Magic-Number值.这个值应该是多少呢? 它发给我的是 4B 4F 21 5F:Value of magic number 这个值由什么而来呢? 4. 03:Option 3,Authentication-Protocol 05:Size of option 3, 5 Bytes C2 23 05:Value of Authentication-Protocol 最后这个是验证协议.C2 23代表挑战握手验证协议。 05是数据(数据域是零或多个八位字节,包含作为由详细协议决定了的附加数据) 这个05代表什么意思呢? 如果我要返回同意信息该如何写呢? 希望大虾们能考证考证.共同进步! |
|