专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 网络通信

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

发布时间:2011-07-03 07:15:17 文章来源:www.iduyao.cn 采编人员:星星草
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

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: