Não é realmente o melhor site do stackexchange para fazer essa pergunta, mas snort
vem com o comando u2spewfoo
para isso:
u2spewfoo /path/to/file.unified2
Veja também o comando u2boat
para extrair o pcap
.
Há também um módulo SnortUnified para perl
, que pode permitir que você faça coisas mais sofisticadas com o log unificado2. Um exemplo rápido para emular o u2spewfoo:
#!/usr/bin/perl
use SnortUnified(qw(:ALL));
use Socket;
use POSIX;
$| = 1;
$file = shift;
$UF_Data = openSnortUnified($file) or die;
while ($record = readSnortUnifiedRecord()) {
print(++$i);;
foreach $field ( @{$record->{'FIELDS'}} ) {
my $v = $record->{$field};
if ($field =~ /^.ip$/) {
$v = inet_ntoa(pack("N", $v));
} elsif ( $field =~ /_sec$/) {
$v = strftime("%F_%T", localtime $v);
} elsif ( $field eq 'pkt' ) {
$v = unpack("H*", $v);
}
print(", $field=" . $v);
}
print("\n");
}
closeSnortUnified();