Python3之读取连接过的网络并定位的方法
如下所示:
#!/usr/bin/python # coding=utf-8 import json from urllib.request import urlopen from winreg import * def val2addr(val): addr = "" for ch in val: addr += ("%02x " % ord(ch)) addr = addr.strip(" ").replace(" ", ":")[0:17] return addr def printNets(): net = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged" key = OpenKey(HKEY_LOCAL_MACHINE, net) print(r"\nNetworks You have Joined.") for i in range(100): try: guid = EnumKey(key, i) netKey = OpenKey(key, str(guid)) (n, addr, t) = EnumValue(netKey, 5) (n, name, t) = EnumValue(netKey, 4) macAddr = val2addr(addr) netName = name jsondata = urlopen('http://api.cellocation.com:81/wifi/?mac=' + macAddr + '&output=json').read() data = json.loads(jsondata)['address'] if data == '': address = 'unknow' else: address = data print('[+] ' + netName + ' ' + macAddr + ' ' + address) CloseKey(netKey) except: break def main(): printNets() input('please press enter') if __name__ == '__main__': main()
内置模块:
python2中的_winreg在python3中改名为winreg!!!
以上这篇Python3之读取连接过的网络并定位的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。