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'] + '
')

说明:

  1. 首先使用 nmap 扫描局域网内所有电脑,将结果输出到 nmap.txt 文件中;
  2. 解析 nmap 输出的结果,获取每台电脑的 IP 地址、主机名和 MAC 地址,并将这些信息存储在一个列表中;
  3. 针对每台电脑,使用 nmap 获取其操作系统和电脑型号,并将这些信息加入到相应的字典中;
  4. 最后将所有电脑的信息写入到文本文件 computers.txt 中。

使用步骤:

  1. 确保系统已安装 nmap 工具。
  2. 将代码保存为 Python 文件(例如:get_computer_info.py)。
  3. 运行 Python 文件,程序会自动获取并保存电脑信息到 computers.txt 文件中。

注意:

  • 代码中使用 192.168.1.0/24 作为局域网地址示例,需要根据实际情况进行修改。
  • 确保 nmap 输出的结果文件(nmap.txt)存在,并且程序可以读取该文件。
  • 程序需要一定的网络权限,才能访问局域网内其他电脑的信息。
  • 程序仅供学习和测试使用,请勿用于任何非法活动。
Python 获取局域网内电脑信息并保存到文本文件

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

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