Python3之读取连接过的网络并定位的方法

yipeiwu_com5年前Python基础

如下所示:

#!/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设计】。

相关文章

gearman的安装启动及python API使用实例

本文讲述了gearman的安装启动及python API使用实例,对于网站建设及服务器维护来说非常有用! 一、概述: Gearman是一款非常优秀的任务分发框架,可以用于分布式计算。具体...

Python创建系统目录的方法

本文实例讲述了Python创建系统目录的方法。分享给大家供大家参考。具体如下: Python2 mkdir在没有上级目录时创建会失败.该方法可以创建多级目录。 /temp/gapgers...

python 实现将字典dict、列表list中的中文正常显示方法

在代码文件中定义中文时,经常会遇到问题,要么编码错误,要么是无法正常打印显示。 例如,dict_chinese.py: #!/usr/bin/python a={'name': 'f...

利用Python的Twisted框架实现webshell密码扫描器的教程

好久以来都一直想学习windows中得iocp技术,即异步通信,但是经过长时间研究别人的c++版本,发现过于深奥了,有点吃力,不过幸好python中的twisted技术的存在方便了我。...

Python运行DLL文件的方法

什么是DLL文件? DLL文件为动态链接库(英语: Dynamic-link library, 缩写为DLL) 它是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现方式 先来...