酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

用Python轻松扫描局域网:获取所有设备名称与IP地址!

要扫描局域网内的所有设备名称和IP地址,可以使用Python的`socket`库和`os`库。以下是一个简单的示例代码: ```python import socket import os def get_local_ip(): hostname = socket.gethostname() local_ip = socket.gethostbyname(hostname) return local_ip def scan_network(local_ip): devices = [] for i in range(1, 255): ip = local_ip[:-1] + str(i) try: hostname = socket.gethostbyaddr(ip)[0] devices.append((ip, hostname)) except socket.herror: pass return devices if __name__ == "__main__": local_ip = get_local_ip() print("本地IP地址:", local_ip) devices = scan_network(local_ip) print("局域网内的设备:") for device in devices: print("IP地址: {}, 设备名称: {}".format(device[0], device[1])) ``` 这段代码首先获取本地设备的IP地址,然后遍历局域网内的所有可能的IP地址(假设局域网使用的是C类地址),尝试获取每个IP地址对应的主机名。如果成功获取到主机名,则将该IP地址和主机名添加到设备列表中。打印出局域网内所有设备的IP地址和主机名。 ######[AI写代码神器 | 333点数解答 | 2024-09-04 14:23:43]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]