python获取本地电脑的ip和mac地址
- 获取 IP 地址
- 在 Python 中,可以使用
socket
模块来获取本地 IP 地址。以下是一个简单的示例代码:
- 首先创建了一个
UDP
套接字(socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
)。这里AF_INET
表示使用 IPv4 协议族,SOCK_DGRAM
表示UDP
套接字类型。 - 然后通过连接到一个外部的 IP 地址(这里使用的是谷歌的
DNS
服务器8.8.8.8
的80
端口),这个连接操作实际上是为了获取本地分配的 IP 地址。因为当你连接到外部服务器时,操作系统会将本地合适的 IP 地址绑定到这个套接字上。 - 接着使用
getsockname()[0]
来获取套接字的本地 IP 地址。最后关闭套接字并返回 IP 地址。如果出现异常,会打印错误信息并返回None
。
- 获取 MAC 地址
- 获取 MAC 地址相对复杂一些,因为不同的操作系统获取方式有所不同。在 Windows 和 Linux 系统下可以使用
uuid
模块结合系统命令来获取。以下是一个跨平台(Windows 和 Linux)获取 MAC 地址的示例:
- 首先通过
platform.system()
来判断操作系统类型。 - 在 Windows 下:
- 使用
subprocess.check_output("ipconfig /all")
来执行ipconfig /all
命令,这个命令会返回网络配置的详细信息。 - 将输出的结果使用
utf - 8
编码进行解码后,逐行检查。当找到包含 “物理地址”(这是 Windows 下 MAC 地址对应的中文名称)的行时,通过分割字符串获取 MAC 地址部分,并去除空格后返回。如果执行命令出错,会打印错误信息并返回None
。
- 使用
uuid.getnode()
来获取网络接口的 MAC 地址,这个函数返回的是一个整数表示的 MAC 地址。 - 然后通过将这个整数转换为十六进制字符串,并按照一定的格式(每两位用
:
分隔)来得到常见的 MAC 地址格式并返回。如果出现异常,会打印错误信息并返回None
。
- 如果是其他不支持的操作系统,会打印提示信息并返回
None
。
你可以使用以下方式调用这些函数:
获取本地电脑的 MAC 地址的 Python 代码
如何在 Python 中实现网络通信?
除了 Python,还有哪些语言可以获取本地电脑的 IP 和 MAC 地址?
原文地址:https://blog.csdn.net/weixin_41722928/article/details/143900018
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!