Python 获取局域网内电脑信息并保存到文本文件
Python 获取局域网内电脑信息并保存到文本文件
本程序使用 Python 和 nmap 工具,获取局域网内所有电脑的 IP 地址、主机名、MAC 地址、操作系统和电脑型号,并将信息保存到 computers.txt 文本文件中。
代码:
import os
# 获取局域网内所有电脑信息
cmd = 'nmap -sP 192.168.1.0/24' # 此处以 192.168.1.0/24 为例,根据实际情况修改
os.system(cmd)
# 解析 nmap 输出的结果,获取电脑信息
with open('nmap.txt', 'r') as f:
lines = f.readlines()
computers = []
for line in lines:
if 'Nmap scan report for' in line:
computer = {}
computer['ip'] = line.split(' ')[4].strip()
computer['name'] = line.split(' ')[5].strip()
computers.append(computer)
elif 'MAC Address' in line:
computer['mac'] = line.split(' ')[2].strip()
# 获取电脑详细信息
for computer in computers:
ip = computer['ip']
cmd = 'nmap -O -v ' + ip
os.system(cmd)
with open('nmap.txt', 'r') as f:
lines = f.readlines()
for line in lines:
if 'OS details' in line:
computer['os'] = line.split(':')[1].strip()
elif 'Device type' in line:
computer['model'] = line.split(':')[1].strip()
# 将电脑信息写入文本文件
with open('computers.txt', 'w') as f:
for computer in computers:
f.write(computer['name'] + ' ' + computer['ip'] + ' ' + computer['os'] + ' ' + computer['model'] + '
')
说明:
- 首先使用 nmap 扫描局域网内所有电脑,将结果输出到 nmap.txt 文件中;
- 解析 nmap 输出的结果,获取每台电脑的 IP 地址、主机名和 MAC 地址,并将这些信息存储在一个列表中;
- 针对每台电脑,使用 nmap 获取其操作系统和电脑型号,并将这些信息加入到相应的字典中;
- 最后将所有电脑的信息写入到文本文件 computers.txt 中。
使用步骤:
- 确保系统已安装 nmap 工具。
- 将代码保存为 Python 文件(例如:get_computer_info.py)。
- 运行 Python 文件,程序会自动获取并保存电脑信息到 computers.txt 文件中。
注意:
- 代码中使用 192.168.1.0/24 作为局域网地址示例,需要根据实际情况进行修改。
- 确保 nmap 输出的结果文件(nmap.txt)存在,并且程序可以读取该文件。
- 程序需要一定的网络权限,才能访问局域网内其他电脑的信息。
- 程序仅供学习和测试使用,请勿用于任何非法活动。
原文地址: https://www.cveoy.top/t/topic/nIWJ 著作权归作者所有。请勿转载和采集!