1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/usr/bin/python
- import dbus
- import sys
- import time
- import gobject
- from dbus.mainloop.glib import DBusGMainLoop
- WPAS_DBUS_SERVICE = "fi.w1.wpa_supplicant1"
- WPAS_DBUS_INTERFACE = "fi.w1.wpa_supplicant1"
- WPAS_DBUS_OPATH = "/fi/w1/wpa_supplicant1"
- WPAS_DBUS_INTERFACES_INTERFACE = "fi.w1.wpa_supplicant1.Interface"
- def usage():
- print "Usage: %s <ifname>" % sys.argv[0]
- print "Press Ctrl-C to stop"
- def ProbeRequest(args):
- if 'addr' in args:
- print '%.2x:%.2x:%.2x:%.2x:%.2x:%.2x' % tuple(args['addr']),
- if 'dst' in args:
- print '-> %.2x:%.2x:%.2x:%.2x:%.2x:%.2x' % tuple(args['dst']),
- if 'bssid' in args:
- print '(bssid %.2x:%.2x:%.2x:%.2x:%.2x:%.2x)' % tuple(args['dst']),
- if 'signal' in args:
- print 'signal:%d' % args['signal'],
- if 'ies' in args:
- print 'have IEs (%d bytes)' % len(args['ies']),
- print ''
- if __name__ == "__main__":
- global bus
- global wpas_obj
- global if_obj
- global p2p_iface
- dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
- bus = dbus.SystemBus()
- wpas_obj = bus.get_object(WPAS_DBUS_SERVICE, WPAS_DBUS_OPATH)
- # Print list of i/f if no one is specified
- if (len(sys.argv) < 2) :
- usage()
- sys.exit(0)
- wpas = dbus.Interface(wpas_obj, WPAS_DBUS_INTERFACE)
- ifname = sys.argv[1]
- path = wpas.GetInterface(ifname)
- if_obj = bus.get_object(WPAS_DBUS_SERVICE, path)
- iface = dbus.Interface(if_obj, WPAS_DBUS_INTERFACES_INTERFACE)
- bus.add_signal_receiver(ProbeRequest,
- dbus_interface=WPAS_DBUS_INTERFACES_INTERFACE,
- signal_name="ProbeRequest")
- iface.SubscribeProbeReq()
- gobject.MainLoop().run()
|