From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arthur Paulino Date: Fri, 19 Dec 2014 17:28:06 +0000 Subject: Re: PPP compression Message-Id: <54946026.60005@great.ufc.br> MIME-Version: 1 Content-Type: multipart/mixed; boundary="------------090607080604010504030305" List-Id: References: <3b4526880d737ed5094d632636e6fef8@great.ufc.br> In-Reply-To: <3b4526880d737ed5094d632636e6fef8@great.ufc.br> To: linux-ppp@vger.kernel.org This is a multi-part message in MIME format. --------------090607080604010504030305 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hi, I tried to use pppdump with -p and -d. The input file I used was the pcap file (packets.pcap) generated by tcpdump. Unfortunately, pppdump prints almost the exact payload as the compressed ppp data, meaning it's not decompressing the payload when it should be. I attached: -the original pcap file (packets.pcap); -a file containing the payload in hex (HEX_packets.txt); -a readable text file containing the packets (packets.txt) -and the pppdump_output.txt I don't know what I'm doing wrong. Could you help me out? On 18/12/2014 18:24, James Carlson wrote: > On 12/18/14 15:49, arthurpaulino wrote: >> We configured a PPTP VPN server with no encryption. The compression >> algorithm negotiated during the connection phase is Deflate. > The simplest method (of course) would be to disable compression and just > avoid the issue. > > But assuming you don't want to do that, there are two other options: > > - If you're actually running pppd, you could use the "record" option > to record raw data and then dump using pppdump. That tool has a > "-d" option to decompress this kind of data. > > - If you're not running pppd, and have just GRE-encapsulated data > captured off the network, then I suggest writing a small tool that > will extract the PPP frames (ff 03 ...) and rewrite them to a file > in the very simple format that pppdump expects so that you can use > pppdump to display them. > > The file format can be deduced by looking at the code in pppdump.c. > For a really trivial converter (payload only), you can use: > > 01 LL LL ... - sent data, where LLLL is the number of bytes in > big endian (network byte order) format. > 02 LL LL ... - received data, same format. > > Note that pppdump expects the data to be AHDLC encoded (!) so you > have to do that before doing the encoding above. AHDLC is pretty > simple; replace any instance of 7D or 7E in the data with 7D 5D or 7D 5E > (respectively) and then end the frame with 7E. > --------------090607080604010504030305 Content-Type: application/x-zip-compressed; name="packets.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="packets.zip" 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 --------------090607080604010504030305--