You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python获取本地主机的设备名称?

Python 获取设备名称替代IP的实现方法

完全可以用Python实现这个需求,以下是几种常见场景的解决方案:

1. 获取本地设备名称

直接用socket模块的gethostname()方法就能拿到当前设备的主机名:

import socket
local_hostname = socket.gethostname()
print(f"本地设备名称: {local_hostname}")

2. 通过IP地址反向解析设备名称

如果已知目标设备的IP,用socket.gethostbyaddr()可以反向查询对应的主机名:

import socket

target_ip = "192.168.1.10"  # 替换为目标IP
try:
    hostname, _, _ = socket.gethostbyaddr(target_ip)
    print(f"{target_ip} 对应的设备名称: {hostname}")
except socket.herror:
    print("无法解析该IP的设备名称,可能目标未开启相关服务")

3. 局域网内主动发现设备名称

如果需要扫描局域网内所有设备并获取名称,分两种场景处理:

Windows环境(NetBIOS协议)

借助pywin32库调用系统API扫描:

import win32net

def scan_lan_devices(base_ip="192.168.1."):
    devices = []
    for i in range(1, 255):
        ip = base_ip + str(i)
        try:
            wksta_info = win32net.NetWkstaGetInfo(ip, 100)
            devices.append((ip, wksta_info['wki100_computername']))
        except:
            continue
    return devices

# 执行扫描并打印结果
for ip, name in scan_lan_devices():
    print(f"IP: {ip} 设备名称: {name}")

注:需要先安装pywin32,执行pip install pywin32

跨平台方案(mDNS协议)

用zeroconf库基于mDNS发现局域网设备,支持Windows、Linux、macOS:

import socket
from zeroconf import Zeroconf, ServiceBrowser, ServiceListener

class DeviceListener(ServiceListener):
    def add_service(self, zeroconf, service_type, name):
        service_info = zeroconf.get_service_info(service_type, name)
        if service_info:
            device_ip = socket.inet_ntoa(service_info.addresses[0])
            device_name = service_info.server
            print(f"发现设备: {device_name} | IP: {device_ip}")

# 初始化扫描
zeroconf_instance = Zeroconf()
listener = DeviceListener()
# 扫描HTTP服务设备,可根据需要修改服务类型
browser = ServiceBrowser(zeroconf_instance, "_http._tcp.local.", listener)

# 保持运行,按回车停止
try:
    input("按回车键结束扫描...\n")
finally:
    zeroconf_instance.close()

注:需要先安装zeroconf,执行pip install zeroconf

注意事项

  • 设备名称解析依赖目标设备开启了DNS、NetBIOS或mDNS服务,否则无法获取名称
  • 局域网扫描可能受防火墙、网络权限影响,部分设备会隐藏自身信息
  • 第三方库安装需确保网络正常,执行对应pip命令即可

内容的提问来源于stack exchange,提问作者wido

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 19:31:14