Could someone help integrating the above methods into my code? I am having issues getting either to work
Here is the first one. Did i put something in wrong?
#!/usr/bin/perl
use DBI;
use Net::TcpDumpLog;
use NetPacket::Ethernet;
use NetPacket::IP;
use NetPacket::TCP;
use Net::Pcap;
use strict;
use warnings;
use File::Glob qw(bsd_glob);
#Login to mysql
my $dbh = DBI->connect('DBI:mysql:test', 'root', 'nstar'
) || die "Could not connect to +database: $DBI::errstr"
+;
#Pcap file to log
my $log = Net::TcpDumpLog->new();
my @files = bsd_glob("C:\\Documents and Settings\\jordant\\Desktop\\D
+ump\\*.pcap");
$log->read('$file');
for my $file (@files) {
print "Processing '$file'\n";
};
#INFO from PCAP file
foreach my $index ($log->indexes) {
my ($length_orig, $length_incl, $drops, $secs, $msecs) = $log->header
+($index);
my $data = $log->data($index);
my $eth_obj = NetPacket::Ethernet->decode($data);
next unless $eth_obj->{type} == NetPacket::Ethernet::ETH_TYPE_IP;
my $ip_obj = NetPacket::IP->decode($eth_obj->{data});
next unless $ip_obj->{proto} == NetPacket::IP::IP_PROTO_TCP;
my $tcp_obj = NetPacket::TCP->decode($ip_obj->{data});
#get date time stamp of packet
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(
+$secs + $msecs/1000);
$mon+=1;
my $time = sprintf("%02d-%02d %02d:%02d:%02d",
$mon, $mday, $hour, $min, $sec);
#Info in Table
$dbh->do( "INSERT INTO test2 (Date,Source,Destination,Packets
+,Port)
values (
'$time',
'$ip_obj->{src_ip}',
'$ip_obj->{dest_ip}',
'$ip_obj->{len}',
'$tcp_obj->{dest_port}')");
}
Errors out: saying it cant find the directory
|