以下是一个基本实现,可以获取局域网中所有电脑的IP地址和主机名,并将其保存到桌面的a.txt文件中。

import socket

# 获取本机IP地址
def get_local_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(('8.8.8.8', 80))
    ip = s.getsockname()[0]
    s.close()
    return ip

# 获取局域网中所有电脑的IP地址和主机名
def scan_local_network():
    ip_prefix = get_local_ip().rsplit('.', 1)[0] + '.'
    computers = []
    for i in range(1, 255):
        ip = ip_prefix + str(i)
        try:
            hostname = socket.gethostbyaddr(ip)[0]
        except socket.herror:
            hostname = ''
        computers.append((ip, hostname))
    return computers

# 将结果保存到桌面的a.txt文件中
def save_to_file(computers):
    with open('/Users/username/Desktop/a.txt', 'w') as file:
        for computer in computers:
            file.write(f'{computer[0]}\t{computer[1]}\n')

if __name__ == '__main__':
    computers = scan_local_network()
    save_to_file(computers)

请注意,这个程序只能获取局域网中已经开机的电脑信息。如果有电脑关机或者不在局域网中,它们的信息将无法获取。此外,也可能存在一些安全问题,因为这个程序可以获取局域网中所有电脑的信息,包括它们的IP地址和主机名。因此,在使用时需要谨慎考虑安全问题

获取局域网所有电脑信息并保存到桌面文件atxt文件内使用socket模块python程序

原文地址: https://www.cveoy.top/t/topic/dxSZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录