use strict; use Net::TcpDumpLog; use NetPacket::IP qw(:strip); use NetPacket::TCP qw(:strip); my $log = Net::TcpDumpLog->new(); $log->read("tcp01.dump"); my @Indexes = $log->indexes; my $index; my ($length_orig,$length_incl,$drops,$secs,$msecs); my $data; foreach $index (@Indexes) { ($length_orig,$length_incl,$drops,$secs,$msecs) = $log->header($index); $data = $log->data($index); my ($ether_dest,$ether_src,$ether_type,$ether_data) = unpack('H12H12H4a*',$data); my $ip_obj = NetPacket::IP->decode($ether_data); my $tcp_obj = NetPacket::TCP->decode( $ip_obj->{data} ); print("$ip_obj->{src_ip}:$ip_obj->{dest_ip}\n"); } #### 250.84.80.45:76.34.213.120 250.19.80.45:76.34.213.120 249.4.213.120:252.2.80.45 249.3.213.120:252.2.80.45 249.2.213.120:252.2.80.45 223.68.213.120:252.2.80.45 #### IP 80.45.76.34.22 > 213.120.252.2.49191: IP 80.45.76.34.22 > 213.120.252.2.49191: IP 213.120.252.2.49191 > 80.45.76.34.22: IP 213.120.252.2.49191 > 80.45.76.34.22: IP 213.120.252.2.49191 > 80.45.76.34.22: