123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/usr/bin/python
- #
- # Test script for wpaspy
- # Copyright (c) 2013, Jouni Malinen <j@w1.fi>
- #
- # This software may be distributed under the terms of the BSD license.
- # See README for more details.
- import os
- import time
- import wpaspy
- wpas_ctrl = '/var/run/wpa_supplicant'
- def wpas_connect():
- ifaces = []
- if os.path.isdir(wpas_ctrl):
- try:
- ifaces = [os.path.join(wpas_ctrl, i) for i in os.listdir(wpas_ctrl)]
- except OSError, error:
- print "Could not find wpa_supplicant: ", error
- return None
- if len(ifaces) < 1:
- print "No wpa_supplicant control interface found"
- return None
- for ctrl in ifaces:
- try:
- wpas = wpaspy.Ctrl(ctrl)
- return wpas
- except Exception, e:
- pass
- return None
- def main():
- print "Testing wpa_supplicant control interface connection"
- wpas = wpas_connect()
- if wpas is None:
- return
- print "Connected to wpa_supplicant"
- print wpas.request('PING')
- mon = wpas_connect()
- if mon is None:
- print "Could not open event monitor connection"
- return
- mon.attach()
- print "Scan"
- print wpas.request('SCAN')
- count = 0
- while count < 10:
- count += 1
- time.sleep(1)
- while mon.pending():
- ev = mon.recv()
- print ev
- if 'CTRL-EVENT-SCAN-RESULTS' in ev:
- print 'Scan completed'
- print wpas.request('SCAN_RESULTS')
- count = 10
- pass
- if __name__ == "__main__":
- main()
|