#!/usr/bin/perl -w # by trevelyn. # use warnings; use Net::Pcap; use NetPacket::Ethernet; use NetPacket::IP; use NetPacket::TCP; my $error; my $type = 'DLT_IEEE802_11'; my $device = $ARGV[0]; my $WiFiobject = Net::Pcap::open_live($device, 2048, 1, -1, \$error); my $w802 = Net::Pcap::datalink($type); Net::Pcap::set_datalink($Wifiobject, $w802); 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"; }