python获取主机内网中所有MAC地址
import os
import subprocess
import socket
"""
python获取主机内网中所有MAC地址
"""
def get_local_net(): # 主机所在网段
# 获取主机名
hostname = socket.gethostname()
# 获取主机的局域网ip
localip = socket.gethostbyname(hostname)
localipnums = localip.split('.')
localipnums.pop()
localipnet = '.'.join(localipnums)
return localipnet
def getmacaddr():
devnull = open(os.devnull, 'wb')
res = subprocess.Popen("arp -a", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=devnull)
sout, serr = res.communicate()
honstip = get_local_net()
mac_ip = dict()
if type(sout) == bytes:
# x = str(sout, encoding="gbk")
y = str(sout, encoding="gbk").split()
for i in range(len(y)):
if y[i].find(honstip) >= 0:
mac_ip[y[i]] = y[i + 1]
i += 1
print(y[i])
print(y[i + 1])
print(mac_ip)
return mac_ip
if __name__ == '__main__':
getmacaddr()
python获取主机内网中所有MAC地址的更多相关文章
- 使用ARP获取局域网内设备IP和MAC地址
根据Arp列表数据,查询本地设备在线状态 使用 arp -a 获得所有内网地址,首先看Mod对象 public struct MacIpPair { public string HostName; p ...
- C#获取路由器外网IP,MAC地址
C#实现的获取路由器MAC地址,路由器外网地址.对于要获取路由器MAC地址,一定需要知道路由器web管理系统的用户名和密码.至于获取路由器的外网IP地址,可以不需要知道路由器web管理系统的用户名和密 ...
- python获取主机IP,主机名
获取主机内网,外网IP,主机名 代码如下: #!/usr/bin/env python #-*- coding:utf-8 -*- # author:Zeng Xianhe import socket ...
- Navicat通过云主机内网连接阿里云RDS
背景 公司为了安全起见,RDS设置只允许阿里云主机的内网端可以访问.这就意味,如果要操作RDS就需要连接到云主机上之后通过mysql shell操作.操作起来很复杂麻烦,今天看同事用Navicat f ...
- 访问内网中的sql server数据库的简便方法
前言: 有时候我们要访问局域网内的 sql server服务器,比如测试环境数据库在公司内网,回到家或在客户现场要连接内网中的数据库 第一步:假如可以连接局域网的数据库 192.168.150.129 ...
- 获取本地内网和外网IP地址
public class IPUtil { /// <summary> /// 获取本地内网IP /// </summary> /// <returns></ ...
- 搭建SpringBoot服务器,在公司内网中使用
搭建SpringBoot服务器,在公司内网中使用. 学习了:https://blog.csdn.net/z3881006/article/details/78902231 就是一个程序,托管于gith ...
- 内网中让其他人访问我电脑上的asp.net应用程序
打开防火墙,高级配置,新建入站规则,选择“端口”,下一步,填写特定本地端口,然后都是点击下一步,命名规则,到此,内网中的其他人可以访问你的程序了
- python 获取时间范围内日期列表
python 获取时间范围内日期列表 import datetime def dateRange(beginDate, endDate): dates = [] dt = datetime.datet ...
- 刚刚研究了下ipv6,尝试配置内网VPS的IPv6地址
刚刚研究了下ipv6,尝试配置内网VPS的IPv6地址是3台设备,分别是客户机Windows系统.核心交换机.PPPoE拨号的路由器 第一步:在PPPoE拨号的路由器上面查看ppp0拨号的地址 ifc ...
随机推荐
- textfsm
from concurrent.futures import ThreadPoolExecutor import netmiko import os from threading import Loc ...
- Python全栈学习笔记---问题总结(五)
一.全局变量和局部变量 在函数内声明全局变量:globle 二.数值型lis和字符型list转换 数值型list转字符型list 3.x: array = [1, 2, 3, 4, 5,6 ] arr ...
- 使用nvm实现自由切换nodejs版本
首先安装使用nvm前需要删除卸载干净!!! 可以去GitHub安装最新的版本:https://github.com/nvm-sh/nvm 或者直接下载Windows的 releases版本安装:htt ...
- 常用的js方法
1. 声明和初始化数组 我们可以使用默认值(如"".null或 )初始化特定大小的数组0.您可能已经将这些用于一维数组,但如何初始化二维数组/矩阵呢? const array = ...
- Rabbit MQ的几种模式
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). 官网文档:https://www.rabbitmq.com/getstarted.html Rabbi ...
- [菜鸡随笔-2]用mv代替rm安全地进行删除操作的小技巧
牢骚和背景介绍: rm -rf /*的梗 相信大家都听过笑过,我不止听过笑过,还不小心试过(不要熬夜写东西!).为此丢了我一周的心血,和40块钱(买u盘跑网吧下载引导文件).所幸,这只是在自己的机器上 ...
- 插入排序C语言
1 #include "stdio.h" 2 #include "stdlib.h" 3 typedef int ElemType; 4 //直接插入排序 5 ...
- java-文件IO常用操作对比
文件IO中,常用的方法如下方代码中的readMethod1~8方法所示. 测试了2.5M读100次.100M读3次.250M读1次三种情况,耗时(单位:毫秒)如下: 2.5M读100次 2.5M读10 ...
- vue3 门户网站搭建2-ngnix
路由配好了,需要调试下 build 后是否可用,这时我们需要一个服务端来运行静态网页. 官网直接下载一个 windows 版本的 ngnix 即可: http://nginx.org/en/downl ...
- go开发框架推荐
根据自己了解的情况,从易用性和文档完善程度来说,推荐优先考虑使用如下框架: fiber revel echo iris gin beego 以revel作为入门教程,在go项目的根文件夹里执行下面2条 ...