如何使用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在人工智能开发中是首选?探索其关键优势与实战应用

    本文探讨了Python在人工智能开发中被广泛采用的原因,分析其关键优势,并通过具体案例展示如何在AI项目中实际应用Python。 Python作为一种高级编程语言,在人工智能(AI)领域中的应用尤为广泛。本文将深入探讨Pyth…

    2024年5月6日
    00
  • 如何使用Python减轻工作压力和自动化任务:从会计、教师到销售的全能工具

    在当今繁忙的工作环境中,提高效率和减轻工作压力是每个行业都面临的挑战。无论您是一名会计师、教师还是销售专业人员,Python都可以成为您的得力助手,帮助您自动化任务、提高工作效率。在本教程中,我们将探讨Pyt…

    2023年10月20日
    00
  • 如何使用Python自动裁剪学籍照片

    想象一下,你是一名学校管理员,每学期都需要处理大量学生的学籍照片。这些照片来自不同的来源,尺寸和质量各不相同。你需要确保这些照片都符合学校的规定尺寸,以便在学籍档案中使用。手动裁剪每张照片将是一项繁…

    2023年9月27日
    00
  • Python错误标准异常总结:让你成为异常处理大师

    嗨,亲爱的Python学习者们!在编写代码时,错误是不可避免的。Python提供了丰富的异常处理机制,以帮助你更好地理解和处理代码中的错误。本文将为你总结Python中的标准异常,让你成为异常处理的大师! 开篇故事 在…

    2023年9月25日
    00
  • 如何下载PT资源:是否需要整双网卡?

    想象一下,你是一个热衷于下载PT资源的电影爱好者。每当有新的电影资源发布,你都迫不及待地想要获取。但是,你在下载时是否应该考虑使用两张网卡呢?这就是我们今天要讨论的问题。 IP不一样要小心封号 有人认为,…

    2023年10月4日
    00
  • python和java哪个更值得学

    计算机编程是一个充满挑战和机遇的领域,而Python和Java是两个备受欢迎的编程语言。无论是初学者还是有一定经验的开发者,选择哪种语言都可能成为一个重要的决策。在本篇教程中,我们将深入研究Python和Java的优缺…

    2023年4月16日
    00
  • 如何转换网易云音乐缓存文件为MP3格式

    在一个雨后的傍晚,我躺在窗前听着喜欢的音乐,感叹于网络的发达,我们可以轻松地在线听到任何我们想听的音乐。但突然之间,我想起一个问题:如果某一天我去了一个没有网络的地方,我还能听到这些音乐吗?当然,购…

    2023年10月10日
    00
  • 使用Python编写小说章节批量下载器

    在本教程中,我们将学习如何使用Python编写一个小说章节批量下载器。这个工具可以帮助你下载小说的所有章节并保存为文本文件,以便离线阅读。我们将使用Python的Requests库来获取网页内容,Beautiful Soup库来解析H…

    2023年9月21日
    00
  • 如何使用Selenium自动化浏览器操作获取网页数据

    在当今互联网时代,网页上的数据是我们获取信息和进行各种任务的关键。有时候,我们需要自动化地进行浏览器操作,以获取网页上的数据,而这正是Selenium库的用武之地。在这篇教程中,我们将学习如何使用Selenium来…

    2023年10月16日
    00
  • 编程的奇妙之旅:Python多线程爬虫下载PDF教材

    有一天,当我坐在电脑前,思考着编程的奇妙之处时,一种冒险的感觉涌上心头。我想,为什么不用编程来探索互联网的深处,下载一些有趣的教材呢?于是,我开始了这次奇妙的编程之旅,带着好奇心和激情,我将向你展示…

    2023年10月4日
    00