diff --git a/tcpdump_tools/tcpdump2ascii b/tcpdump_tools/tcpdump2ascii index da750ad..3161997 100755 --- a/tcpdump_tools/tcpdump2ascii +++ b/tcpdump_tools/tcpdump2ascii @@ -1,15 +1,22 @@ -#!/usr/bin/perl +#!/usr/bin/perl -w +use strict; +use POSIX; +use locale; + +$| = 1; while(<>) { if (/^\t\t\t( [0-9a-f]{2,4})+$/) { - @hex = split; - foreach $i (@hex) { - @c = pack("H4", $i); - foreach $j (@c) { - print "$j"; + chomp; + my @hex = split; + my $line = "$_ "; + foreach my $i (@hex) { + my @c = pack("H4", $i); + foreach my $j (split(//, "@c")) { + $line .= isprint($j) ? "$j" : "."; } } - print "\n"; + print "$line\n"; } else { print }