#!/usr/bin/perl -w use strict; use warnings; use Net::Pcap; use NetPacket::Ethernet; use NetPacket::IP; use NetPacket::TCP; my $error; my $device = $ARGV[0]; my $WiFiobject; $WiFiobject = Net::Pcap::open_live($device, 2048, 1, -1, \$error); unless (defined $WiFiobject) { die 'Unable to create packet capture on device ', $device, ' - ', $error; } Net::Pcap::loop($WiFiobject, -1, \&syn_packets, '') || die 'Unable to perform packet capture'; Net::Pcap::close($WiFiobject); sub syn_packets { my ($user_data, $header, $packet) = @_; my $macaddr = NetPacket::Ethernet->decode($packet); print "$macaddr->{'src_mac'}, $macaddr->{'dest_mac'}\n"; }