sub process_pkt { my($user, $hdr, $pkt) = @_; my $currentmac = 0; # Client mac unidentified.(init) warn ("Bad user data\n"), if ($user ne "abc"); warn("Bad pkthdr\n"), if (!defined($hdr)); warn("Bad pkt data\n"), if (!defined($pkt)); my ($sec,$min,$hour) =localtime($hdr->{tv_sec}); my $len= $hdr->{len}; my $buf; my $eth_obj = NetPacket::Ethernet->decode($pkt); #print("$eth_obj->{src_mac}:$eth_obj->{dest_mac} " . # "$Ethernet_Type_Name{$eth_obj->{type}} \n"); $buf = sprintf("%02d:%02d:%02d.%03d[%4d] ", $hour,$min,$sec, $hdr->{tv_usec} / 1000,$hdr->{len}); return unless $eth_obj->{type} == ETH_TYPE_IP; # Only Handle IP4 Decode_IP( $eth_obj,\$buf, $hdr); $count++; }