#!/usr/bin/perl
use Net::TcpDumpLog;
use NetPacket::Ethernet;
use NetPacket::IP;
use NetPacket::TCP;
use strict;
use warnings;
use Net::Frame::Dump::Offline;
use Net::Frame::Simple;
use Net::Frame::Layer;
use Net::Frame::Layer::UDP;
use Mon::SNMP;
#
# Simple offline anaysis
#
my $fParse = "/home/my_file.cap";
my $oDump = Net::Frame::Dump::Offline->new(
file => $fParse,
filter => 'SNMP',
);
$oDump->start;
my $count = 1;
while (my $h = $oDump->next) {
my $f = Net::Frame::Simple->new(
raw => $h->{raw},
firstLayer => $h->{firstLayer},
timestamp => $h->{timestamp},
);
my $len = length($h->{raw});
print 'o Frame number: '.$count++." (length: $len)\n";
print $f->print."\n";
}
$oDump->stop;
####
$trap = new Mon::SNMP;
$trap->buffer($snmptrap);
%traphash = $trap->decode;
print %traphash;
foreach $oid (keys $traphash{"varbindlist"}) {
$val = $traphash{"varbindlist"}{$oid};
print "oid($oid) = val($val)\n";
}
####
o Frame number: 41 (length: 401)
ETH: dst:d8:d3:85:de:85:68 src:78:e7:d1:56:f7:a0 type:0x0800
IPv4: version:4 hlen:5 tos:0x00 length:387 id:0
IPv4: flags:0x02 offset:0 ttl:64 protocol:0x11 checksum:0xd8ee
IPv4: src:172.19.4.58 dst:172.19.4.27
UDP: src:41665 dst:162 length:367 checksum:0x9443
UDP: payload:3082016302010104066573796d6163a782015402041560ae2702010002010030820144301006082b0601020101030043040cd6aeed3019060a2b060106030101040100060b2b060104015e07010300023028060c2b060104015e07010402010204184950444f4d2d312f49504e452d392f49504e4549462d31363012060c2b060104015e0701040201010202062f3018060c2b060104015e070104020103040807da090d0f2a20013013060c2b060104015e070104020104020301e271302c060c2b060104015e070104020105041c504f5254204f5220494e5445524641434520484153204641494c45443011060c2b060104015e070104020106020105302c060c2b060104015e070104020107041c506f7274206f7220696e7465726661636520686173206661696c65643012060c2b060104015e0701040201080202013b3011060c2b060104015e0701040201090201043012060c2b060104015e07010402010a02020b51