PPP解码器

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
QR Code
QR Code message:pppdecoder (generated for current page)