PPP协议是一种比较常用的协议。这里的PPP解码器主要是针对基于Modem的PPP协议进行解码。从中可以窥探PPP协议的工作情况。
PPP解码器是一个可以运行的Jar包。点击这里可以下载该程序:PPPDecoder.jar。
启动解码器可以使用如下指令:
Java –cp PPPDecoder.jar; PPPDecoder [file name]
其中file name指定了PPP协议的通讯记录日志。格式要求按照行进行整理,数据之间没有多余空格,开头和结尾都必须是“7E”。这个开头和结尾是典型的PPP协议要求。
例如一个典型的串口数据记录如下:
第一行通讯数据经过整理后可以如下:
7EFF7D23C0217D217D207D207D377D227D267D207D207D207D207D257D267D3BF13A387D277D227D287D227D2D7D237D2656CD7E
这样的数据就可以送往PPPDecoder进行解析。下面的表格中给出了部分标准解析结果仅供参考。
Experimentation.main : 0x7eff7d23c0217d217d207d207d377d227d267d207d207d207d207d257d267d3bf13a387d277d227d287d227d2d7d237d2656cd7e
SimpleBuffer.dump : show parameters !
size = 0
position = 0
(no data available !)
HDLCPacket.dump : show parameters !
acf_compression = false
pf_compression = false
(data is unavailable)
SimpleBuffer.dump : show parameters !
size = 50
position = 0
data = 0xff7d23c0217d217d207d207d377d227d267d207d207d207d207d257d267d3bf13a387d277d227d287d227d2d7d237d2656cd
HDLCPacket.dump : show parameters !
acf_compression = false
pf_compression = false
protocol = 0xc021 (LCP, Link Control Protocol)
ppp_fcs16 = 0x56cd (GOOD)
bytes = 0xff03c0210100001702060000000005061bf13a38070208020d0306
LCPPacket.dump : show parameters !
code = 0x01 (Configure-Request)
identifier = 0
total = 23
LCPConfigureRequest.dump : show parameters !
AsyncControlCharacterMap.dump : show parameters !
accm = 0x00000000
MagicNumber.dump : show parameters !
magic_number = 0x1bf13a38
PFCompression.dump : no parameters !
ACFCompression.dump : no parameters !
Callback.dump : show parameters !
operation = 0x06 (unknown)
message = 0x
Experimentation.main : 0x7eff7d23c0217d217d207d203b7d227d267d207d207d207d207d237d25c223817d257d2639f75ea67d277d227d287d227d2d7d237d267d317d247d264e7d337d377d21ae5f8132e64e4a7d289c40eebb84e8b1a17d207d207d207d207d377d247d207d264b347e7eff7d23c0217d227d207d207d377d227d267d207d207d207d207d257d267d3bf13a387d277d227d287d227d2d7d237d267d3c5f7e
SimpleBuffer.dump : show parameters !
size = 0
position = 0
(no data available !)
HDLCPacket.dump : show parameters !
acf_compression = false
pf_compression = false
(data is unavailable)
SimpleBuffer.dump : show parameters !
size = 101
position = 0
data = 0xff7d23c0217d217d207d203b7d227d267d207d207d207d207d237d25c223817d257d2639f75ea67d277d227d287d227d2d7d237d267d317d247d264e7d337d377d21ae5f8132e64e4a7d289c40eebb84e8b1a17d207d207d207d207d377d247d207d264b34
HDLCPacket.dump : show parameters !
acf_compression = false
pf_compression = false
protocol = 0xc021 (LCP, Link Control Protocol)
ppp_fcs16 = 0x4b34 (GOOD)
bytes = 0xff03c0210100003b0206000000000305c22381050639f75ea6070208020d03061104064e131701ae5f8132e64e4a089c40eebb84e8b1a10000000017040006
LCPPacket.dump : show parameters !
code = 0x01 (Configure-Request)
identifier = 0
total = 59
LCPConfigureRequest.dump : show parameters !
AsyncControlCharacterMap.dump : show parameters !
accm = 0x00000000
AuthenticationProtocol.dump : show parameters !
protocol = 0xc223 (Challenge Handshake Authentication Protocol)
MagicNumber.dump : show parameters !
magic_number = 0x39f75ea6
PFCompression.dump : no parameters !
ACFCompression.dump : no parameters !
Callback.dump : show parameters !
operation = 0x06 (unknown)
message = 0x
MultilinkMaxReceiveReconstructedUnit.dump : show parameters !
mrru = 1614
MultilinkEndpointDiscriminator.dump : show parameters !
class = 0x01 (locally assigned address)
address = 0xae5f8132e64e4a089c40eebb84e8b1a100000000
LinkDiscriminatorForBACP.dump : show parameters !
link_discriminatorr = 0x00000006
SimpleBuffer.dump : show parameters !
size = 0
position = 0
(no data available !)
HDLCPacket.dump : show parameters !
acf_compression = false
pf_compression = false
(data is unavailable)
SimpleBuffer.dump : show parameters !
size = 51
position = 0
data = 0xff7d23c0217d227d207d207d377d227d267d207d207d207d207d257d267d3bf13a387d277d227d287d227d2d7d237d267d3c5f
HDLCPacket.dump : show parameters !
acf_compression = false
pf_compression = false
protocol = 0xc021 (LCP, Link Control Protocol)
ppp_fcs16 = 0x1c5f (GOOD)
bytes = 0xff03c0210200001702060000000005061bf13a38070208020d0306
LCPPacket.dump : show parameters !
code = 0x02 (Configure-Ack)
identifier = 0
total = 23
LCPConfigureAck.dump : show parameters !
AsyncControlCharacterMap.dump : show parameters !
accm = 0x00000000
MagicNumber.dump : show parameters !
magic_number = 0x1bf13a38
PFCompression.dump : no parameters !
ACFCompression.dump : no parameters !
Callback.dump : show parameters !
operation = 0x06 (unknown)
message = 0x