Ir para conteúdo
Fórum Script Brasil

Chocolataria

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Chocolataria

Chocolataria's Achievements

0

Reputação

  1. Olá, não percebo quase nada de Perl, mas tenho um trabalho para entregar daqui a dois dias e não sei o que fazer! já só choro!! =( Alguém me pode ajudar? Este é o meu problema: tenho um ficheiro de texto do género... Config.txt SourceIP = 10.1.1.1 SourceMAC = 00d0047203fc IPProtocol = 7 -------------------------------------------- Depois tenho um ficheiro PCAP com pacotes capturados na rede. Num script tenho de ler os campos do ficheiro txt e comparados com os pacotes do ficheiro PCAP. Se algum for igual, apresentar esse pacote. O script que tenho está assim... Script.pl #!/usr/bin/perl -w use strict; use warnings; use Net::PcapUtils; use Net::Pcap; use NetPacket::Ethernet qw(:strip); use NetPacket::IP; #use Config::Reader::Simple; my $file = "CaptureData.txt"; open FILE, ">$file" or die "unable to open $file $!"; my %config; open my $config, '<', 'Config.txt' or die $!; while(<$config>) { chomp; my ($key, $value) = split /\s*=\s*/, $_; $config{$key} = $value; print FILE "chave: $key -- valor: $value\n"; } my $err =''; my $i = 1; my $pcap = Net::Pcap::open_offline("capture.pcap", \$err) or die "Can't open file...$err\n"; Net::Pcap::loop($pcap, -1, \&process_pkt, ''); Net::Pcap::close($pcap); sub process_pkt { my ($user, $hdr, $pkt) = @_; my $ip_obj = NetPacket::IP->decode(eth_strip($pkt)); my $eth_obj = NetPacket::Ethernet->decode($pkt); print FILE "$i\n"; print FILE "SourceIP : $ip_obj->{src_ip}\n"; print FILE "SourceMAC : $eth_obj->{src_mac}\n"; print FILE "EthernetType : $eth_obj->{type}\n"; print FILE "IPProtocol : $ip_obj->{proto}\n"; print FILE "----------------------------\n"; $i++; } close FILE, ">$file" or die "unable to close $file $!"; ------------------------------------------------------------------------------- Por favor, preciso mesmo de ajuda... Obrigada, ...Chocolataria
×
×
  • Criar Novo...