首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络协议 >

PPP协议分析,LCP帧解析解决办法

2012-02-20 
PPP协议分析,LCP帧解析下面是我用模块实现GPRS上网,向ISP拨号(ATD *99#)后的返回的一帧数据:20 43 4F 4E 4

PPP协议分析,LCP帧解析
下面是我用模块实现GPRS上网,向ISP拨号(ATD *99#)后的返回的一帧数据:
20 43 4F 4E 4E 45 43 54 31 31 35 32 30 30 一 7E FF 7D 23 3F 7D 21 7D 20 7D 38 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 23 7D 24 3F 7D 25 7D 26 7D 20 7D 20 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 BE 9B 7E 
“一”代表一帧,前面是 CONNECT115200 后面就是一帧数据,不停的发 发完10次就出来一个NO CARRIER 回到AT模式
想请教的是
我还不太明白这里数据的意思
应该怎样和他握手?
很多7D是什么意思?
谢谢! 

 


[解决办法]
7E FF //7E帧开始标志,跟最后一个7E一样;FF代表地址
7D 23 3F //跟下面的7D 24 3F类似,不知道什么意思,可能是某种控制协议
7D 21
7D 20
7D 38
7D 22
7D 26
7D 20
7D 2A
7D 20
7D 20
7D 23
7D 24 3F
7D 25
7D 26
7D 20
7D 20
7D 20
7D 20
7D 27
7D 22
7D 28
7D 22
BE 9B 7E //BE 9B两字节的校验CRC和,7E帧结束标志

一、可以明显看出,几乎所有的数据都是以7D开头,因此我把它想象为字符转义。
可参考TCP/IP详解 卷1协议 2.6 PPP:点对点协议

二、该GPRS模块有其自定义的协议,查查其技术资料



[解决办法]
7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 38 7D 
22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 23 7D 24 C0 
23 7D 25 7D 26 7D 20 7D 20 7D 20 7D 20 7D 27 7D 
22 7D 28 7D 22 BE 9B 7E 

7D XX=>**,其中**是XX与0x20异或的结果
特殊地,
7D 5D=>5D,
7D 5E=>5E,

所以上面转换后的结果是:
7E FF 03 C0 21 01 01 00 18
02 06 00 0A 00 00 03 04 C0 
23 05 06 00 00 00 00 07 02 
08 02 BE 9B 7E 
下面说下里面数据的含义:
7E----PPP的帧头,帧尾标志
FF----地址域
03--控制域
C0 21---协议域,0xC021表示LCP协议,再比如0x8021表示ipcp协议
01 01 00 18--第一个01表示LCP包的code为1,即configure_request, 下面那个01表示标识符,00 18表示包的长度
它包括code,identifier,长度,及后面的选项域。
02 06 00 0A 00 00--表示选项的type为2,06为长度,00 0A 00 00表示ACCM选项的数据域,可以参考rfc1662
03 04 C0 23 --选项type为3,表示协议认证,04为长度,CO 23表示采用CHAP认证
05 06 00 00 00 00 ----选项type为5,表示magic number,06为长度,后面的是内容
07 02--选项type为7表示协议域压缩
08 02--选项type为8表示地址控制域压缩
BE 9B--表示FCS,Fast Frame Check Sequecese,可参考rfc1662

上面的lcp都可以参考rfc1661, CHAP可以参考rfc1994,ipcp可以参考rfc1332

热点排行