如何使用Python获取局域网内的IP与MAC地址

当我和一群朋友一起参加一场网络游戏对战时,有一个问题开始困扰我们:如何确保只有我们这群朋友在局域网内?我们想知道是否有其他人也连接到了我们的网络。一个念头突然冒出来,为什么不使用Python来检测局域网内所有的设备IP和MAC地址呢?这样我们就可以轻松识别并管理网络内的设备了。于是,我开始写下了以下的代码。

1. 开始之前

在开始之前,确保你的电脑上已经安装了win32apiwin32con这两个库。如果没有,你可以通过pip进行安装。

2. 弹出消息框

使用win32api我们可以轻松地在Windows上弹出一个消息框来显示信息。

def msgbox(msg, title='提醒'):
    win32api.MessageBox(0, msg, title, win32con.MB_OK)

3. 获取本机的IP和MAC地址

利用ipconfig命令,我们可以获取到本机的IP和MAC地址信息。

def local_ip_mac():  # 本机IP和MAC
    output = os.popen('ipconfig /all')
    for i in output:
        if '物理地址.' in i:
            mac = i.split(':')[1].strip()
        if 'IPV4' in i.upper() and '(' in i:
            ip = i.split(':')[1].split('(')[0].strip()
    if ip and mac:
        return [ip, mac]

4. 获取局域网内的IP和MAC地址

通过arp命令,我们可以查看局域网内所有设备的IP和MAC地址。

def lan_ip_mac():  #局域网IP和MAC
    ls = []
    output = os.popen('arp -a')
    for i in output:
        if '动态' in i:
            ip, mac, _ = i.strip().split()
            ls.append([ip, mac])
    return ls

5. 将结果写入到文件中

最后,我们将结果写入到一个txt文件中,以便后续查看。

if __name__ == '__main__':
    res = lan_ip_mac()
    res.append(local_ip_mac())
    print(res)

    # 结果写入文本
    txt = 'ip_mac.txt'
    out_txt = '\n'.join(['\t'.join(i) for i in res])
    with open(txt, 'w') as f:
        f.write(out_txt)

    msgbox(f'提取结果已保存到:{txt}')  #注释掉此行则不弹窗提醒

6. 结论

使用上述方法,我们可以轻松地获取到局域网内所有设备的IP和MAC地址,从而轻松管理网络设备。希望这篇教程能够帮助到你。

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:如何使用Python获取局域网内的IP与MAC地址

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年10月10日
下一篇 2023年10月10日

相关推荐

  • 如何使用Python删除Excel中的指定数据

    大家好,我是王大神。今天,我将向您展示如何使用Python来删除Excel中的指定数据。Excel是一个功能强大的电子表格工具,但有时候我们需要对表格进行清理,删除不需要的数据。Python是一个出色的工具,可以帮助我们…

    2023年10月14日
    00
  • 如何使用Python清除测试数据:一次性删除数据库中的记录

    在软件开发和测试中,测试数据的管理是一个常见的挑战。想象一下,你正在进行测试,并且需要频繁地清除数据库中的记录以进行新一轮的测试。手动删除这些记录是繁琐且容易出错的,因此有一个自动化的工具将会非常有…

    2023年9月24日
    00
  • 创建一个进程守护程序:确保微信机器人始终在线

    在现代的技术世界中,许多人都依赖于自动化工具来简化日常任务。其中,微信机器人是一个非常有用的工具,可以用于自动回复消息、管理群组、定时提醒等各种任务。然而,微信机器人也有可能出现问题,导致其停止运行…

    2023年11月13日
    00
  • ChatGPT信用卡被拒?解锁支付的六大方法

    随着ChatGPT在中国的用户不断增加,一些用户可能会遇到信用卡被拒的问题,这可能会让人感到沮丧。然而,不用担心,本文将介绍一些可能的解决方案,帮助您解锁支付,畅享ChatGPT的智能服务。 1. 确认银行卡是否支持…

    2023年12月18日
    00
  • 解决最小化安装后无法获取IP地址的网络问题

    在Linux操作系统中,最小化安装是一种常见的部署方式,它只安装了最基本的系统组件,以减少系统的资源占用和安全风险。然而,在这种配置下,有时会出现网络无法正常工作的问题,特别是无法获取IP地址。本教程将教您…

    2023年10月30日
    00
  • 探索Python编程:从入门到精通的完全指南

    故事时间:曾经,有一位朋友问我:“Python编程是什么?怎么学习它?我应该从哪里下载Python?有没有一些实用的代码示例?还有,有线上培训班吗?”这让我回想起了自己刚开始学习Python编程的时候,充满了好奇和渴望…

    2023年10月15日
    00
  • Python PEP 703:摆脱全局解释器锁的新篇章

    Python的指导委员会最近宣布接受了PEP 703(Making the Global Interpreter Lock Optional,让全局解释器锁成为可选),并公布了一份详细的路线图,计划让Python迈向自由线程的未来。这一决定引起了广泛的关注和讨…

    2023年10月27日
    00
  • 如何使用Python快速、方便地将照片背景换成白色

    在数字化时代,我们经常需要处理照片,不论是为了美化自己的社交媒体照片,还是为了编辑产品图片以展示在电子商务网站上。有时,我们可能想要改变照片的背景,使其更加吸引人或适应特定的需求。最近,我也遇到了这…

    2023年10月22日
    00
  • 从Mac到Windows:在不同架构下运行Python脚本的终极指南

    大家好,我是王大神,欢迎来到我的AI技术博客。今天我将与你分享一篇独特的教程,讨论如何将在Mac上编写的Python脚本转化成在Windows x86_64架构上运行的可执行文件。或许你也会遇到过这样的情况,你的Mac电脑只支…

    2023年9月19日
    00
  • 如何使用Gradio构建机器学习Web应用

    你好,亲爱的读者们!今天,我将向你们介绍一个强大的Python库,它可以让你在几分钟内构建出令人印象深刻的机器学习Web应用。无需深厚的编程知识,Gradio将成为你的得力助手,助你将机器学习模型和数据科学工作流变…

    2023年9月28日
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注