获取局域网所有电脑信息并保存到桌面文件atxt文件内使用socket模块python程序
以下是一个基本实现,可以获取局域网中所有电脑的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地址和主机名。因此,在使用时需要谨慎考虑安全问题
原文地址: https://www.cveoy.top/t/topic/dxSZ 著作权归作者所有。请勿转载和采集!