#! /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 = ""; } }