#!/usr/bin/perl -w use strict; use Net::PcapUtils; use NetPacket; use NetPacket::Ethernet qw(:strip); use NetPacket::IP; use NetPacket::TCP; use Data::Hexdumper; sub packet { my ($self, $header, $packet) = @_; my $ip_obj = NetPacket::IP->decode(eth_strip($packet)); my $tcp_obj = NetPacket::TCP->decode($ip_obj->{data}); print $ip_obj->{src_ip} . ":" . $tcp_obj->{src_port},"\n"; return unless $tcp_obj->{data}; print hexdump data => $tcp_obj->{data}; }; Net::PcapUtils::loop(\&packet, SNAPLEN => 32768, NUMPACKETS => -1, FILTER => 'ip');