#! /usr/local/bin/perl
# tcpdecode 1.0 by entropy@gnu.ai.mit.edu 24Oct95
# usage:  tcpdump -l -x -s 1500 | tcpdecode
#
select(STDERR); $| = 1; select(STDIN); $| = 1; select(STDOUT); $| = 1;
$sep1 = $sep2 = pack("A79", ""); $sep1 =~ s/ /*/g; $sep2 =~ s/ /-/g;
$data = "";
while (<>) {
    if (/^\t\t\t (.*)$/) {
        $data .= $1;
    } else {
        $data =~ s/\s//g;
        $data =~ s/(..)/$1 /g;
        chop($data);
        @data = split(/ /, $data);
        grep(($_ = pack("c", hex($_))) && 0, @data);
        $data = join('', @data);
        $data =~ s/[^\s!-~]//g;
        print "$data\n$sep1\n$_$sep2\n";
        $data = "";
  }
}
