Python根据IP地址获取MAC地址

Python3根据IP地址获取MAC地址(不能获取本机IP,可以获取与本机同局域网设备IP的MAC)

main.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import platform
import reclass IP2MAC:"""Python3根据IP地址获取MAC地址(不能获取本机IP,可以获取与本机同局域网设备IP的MAC)"""def __init__(self):self.patt_mac = re.compile('([a-f0-9]{2}[-:]){5}[a-f0-9]{2}', re.I)def getMac(self, ip):sysstr = platform.system()if sysstr == 'Windows':macaddr = self.__forWin(ip)elif sysstr == 'Linux':macaddr = self.__forLinux(ip)else:macaddr = Nonereturn macaddr or '00-00-00-00-00-00'def __forWin(self, ip):os.popen('ping -n 1 -w 500 {} > nul'.format(ip))macaddr = os.popen('arp -a {}'.format(ip))macaddr = self.patt_mac.search(macaddr.read())if macaddr:macaddr = macaddr.group()else:macaddr = Nonereturn macaddrdef __forLinux(self, ip):os.popen('ping -nq -c 1 -W 500 {} > /dev/null'.format(ip))result = os.popen('arp -an {}'.format(ip))result = self.patt_mac.search(result.read())return result.group() if result else Noneif __name__ == '__main__':g = IP2MAC()print(g.getMac('192.168.2.105'))

关注公众号,获取更多资料
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eclipse启动tomcat 404

eclipse启动tomcat 404 引用自:http://blog.sina.com.cn/s/blog_8020e41101014lvu.html 感谢博主 状态描述: 在eclipse中启动Tomcat后,在浏览器中访问localhost:8080,显示404错误。 在%tomcat_home%/bin中启动startup.sh却可以正常…

漂亮又好用的Redis可视化客户端汇总

因为 Redis 官方只提供了命令行版的 Redis 客户端 redis-cli,以至于我们在使用的时候会比较麻烦,通常要输入一堆命令,而且命令行版的客户端看起来也不够直观,基于以上两个原因我们需要找一个可视化的 Redis 客户端,下面…

python基本的信号与槽函数的使用 信号发射 槽函数接收

# 熟悉信号与槽的使用 # -*- coding: utf-8 -*- from PyQt5.QtWidgets import * from PyQt5.QtCore import * import sys# 创建信号类 class QTypeSigner(QObject):# 定义一个信号sendmsg pyqtSignal(object)def __init__(self):super(QTypeSigner, self).__init__()def run(s…

Linux 高性能服务器编程——多线程编程

问题聚焦:在简单地介绍线程的基本知识之后,主要讨论三个方面的内容: 1 创建线程和结束线程; 2 读取和设置线程属性; 3 线程同步方式:POSIX信号量,互斥锁和条件变量。Linux线程概述线程…

图解Redis事务机制

作为关系型数据库中一项非常重要的基础功能——事务,在 Redis 中是如何处理并使用的?1.前言事务指的是提供一种将多个命令打包,一次性按顺序地执行的机制,并且保证服务器只有在执行完事务中的所有命令后,才会继续处理此…

python设置本机IP地址、子网掩码、DNS,获取本机IP地址、子网掩码、DNS、MAC

python设置本机IP地址、子网掩码、DNS,获取本机IP地址、子网掩码、DNS、MAC main.py """=== coding: UTF8 ===""" import uuidimport wmi# IP地址 arrIPAddresses = [192.168.30.79] # 子网掩码 arrSubnetMasks = [255.255.255.0] # 默认网关 …

Redis事务深入解析和使用

作为关系型数据库中一项非常重要的基础功能——事务,在 Redis 中是如何处理并使用的? 1.前言 事务指的是提供一种将多个命令打包,一次性按顺序地执行的机制,并且保证服务器只有在执行完事务中的所有命令后,才会继续处…

Netbackup 7.6新增功能和优势

Netbackup 7.6新增功能和优势一、新增功能1.1NetBackup Accelerator(适用于 VMware)此功能使用 Accelerator 技术加快虚拟化备份速度,在完成增量备份期间还提供完全备份映像。借助 VMware 更改数据块跟踪 (CBT) 和 NetBackup Accelerator&…

局域网在线设备扫描工具V2.0软件说明

软件简介: 一个场所的在线设备(例如:监控摄像头或计算机)一般都处在同一个局域网内,当在调试和维护在线设备时,如果不知道在线设备的IP地址,可以使用本工具扫描局域网内在线设备的IP地址和MAC地…

漫画:什么是归并排序?

————— 第二天 —————————————————举个例子,有A、B、C、D、E、F、G、H一共8个武术家参考参加比武大会。第一轮,两两一组,有4名选手胜出(四分之一决赛)第二轮,两两一组,有…

安卓开发环境搭建

安卓开发环境搭建&#xff08;视频解说&#xff09; 本章链接&#xff1a;http://pan.baidu.com/s/1gdkkujx 有兴趣的&#xff0c;可加群<Android开发入门 372858684>。转载于:https://blog.51cto.com/8837942/1416864

世界上没有技术驱动型公司

点击上方“Java中文社群”&#xff0c;选择“设为星标”终身学习者&#xff0c;以编程为乐&#xff01;来源&#xff1a;zhihu.com/question/312019918/answer/608965942作者介绍&#xff1a;智煜徽&#xff0c;洛林大学计算机专业研究生&#xff0c;现就职于华为&#xff0c;从…

单片机Proteus7.8仿真和Proteus8.6仿真 LED点阵 温度采集 电子琴 温度报警 电子秤 音乐播放器 PWM 电压表 温度计 交通灯

单片机Proteus7.8仿真&#xff1a; 单片机Proteus8.6仿真&#xff1a; 下载地址&#xff1a; 关注公众号&#xff0c;获取资料 部分仿真图&#xff1a; 下载地址&#xff1a; 关注公众号&#xff0c;获取资料

Kung Fu Panda: Legends of Awesomeness 2

Raised in a noodle shop, 在面馆长大 Never seeking glory of fame, 从未相当大侠 He climbed a mountaintop, 一朝登的凌绝顶 And earned the Dragon Warrior name 神龙之名冠天下 Master Shifu saw the warrior blossom 师傅慧眼识英杰 And master the skills of bodacious …

InnoDB的内存结构和特性

常言说得好&#xff0c;每个成功男人背后都有一个为他默默付出的女人&#xff0c;而对于MySQL来说&#xff0c;这个“人”就是InnoDB存储引擎。MySQL区别于其他数据库的最为重要的特点就是其插件式的表存储引擎。而在众多存储引擎中&#xff0c;InnoDB是最为常用的存储引擎。从…

Maven必知的7个问题,你会吗?

点击上方“Java中文社群”&#xff0c;选择“设为星标”终身学习者&#xff0c;以编程为乐&#xff01;原文&#xff1a;https://www.jianshu.com/p/20b39ab6a88c在如今的互联网项目开发当中&#xff0c;特别是Java领域&#xff0c;可以说Maven随处可见。Maven的仓库管理、依赖…

Linux 小知识翻译 - 「Linux的吉祥物企鹅叫什么名字?」

这次说说Linux的吉祥物 *企鹅* 都知道Linux的吉祥物是企鹅&#xff0c;但是这个企鹅叫什么名字呢&#xff1f; 它的名字就是「Tux」&#xff0c;注意可不是「Tax」(税收)。 具体参考 wiki&#xff1a;中文解释 英文的解释更为详细一些&#xff1a;英文解释 Linux内核发展到 v2…

WordPress修改WordPress地址和站点地址之后无法打开网站和无法后台登录

WordPress地址一定不要修改。 WordPress修改WordPress地址和站点地址之后无法打开网站和无法后台登录的解决方法&#xff1a; 1、使用ssh登录服务器 xshell、SecureCRT等工具均可。 2、登录MySQL数据库 使用如下指令后&#xff0c;输入密码&#xff0c;打开mysql数据库&am…

从JVM入手,聊聊Java的学习和复习!

我们在学习的时候&#xff0c;经常会遇到这样一个问题&#xff1a;「学完就忘」这个问题大部分人都会遇到&#xff0c;那么我们今天就来聊聊&#xff0c;为啥会学了就忘呢&#xff1f;我根据自己的学习经验&#xff0c;大致总结以下三点原因&#xff1a;1、知识没有用起来2、没…

Activity和Service交互

2019独角兽企业重金招聘Python工程师标准>>> As discussed in the Services document, you can create a service that is both started and bound. That is, the service can be started by calling startService(), which allows the service to run indefinitely…