
16.04.2007, 16:18
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
Код:
sub printPacket
{
my $rawPacket=shift;
my($tHex,$tLine,$counter,$tCounter,$bStart);
my @R_Packet=split('',$rawPacket);
$tCounter=scalar @R_Packet;
foreach(0..($tCounter-1))
{
$counter++;
print uc unpack('H2',$R_Packet[$_]).' ';
if(ord $R_Packet[$_]>=32) { $tLine.=$R_Packet[$_] }
else { $tLine.='.' }
if($counter%16==0)
{
print " $tLine\n";
$tLine=undef;
}
}
while($counter>16) { $counter-=16 }
if(16-$counter>1&&$counter>0)
{
foreach(1..(16-$counter)) { print ' ' x 3 }
print " $tLine\n";
}
print '['.$tCounter;
print $tCounter>1?" bytes]\n\n":" byte]\n\n";
}
|
|
|