怎么用脚本获取平台信息

wen 实用脚本 1

本文目录导读:

怎么用脚本获取平台信息

  1. 场景1:获取操作系统及硬件信息(本地环境)
  2. 场景2:获取浏览器/Web平台信息(前端)
  3. 场景3:获取服务器/云平台信息(后端)
  4. 场景4:获取容器/虚拟化平台信息
  5. 注意事项

场景1:获取操作系统及硬件信息(本地环境)

适用:Windows/Linux/macOS 系统信息、CPU、内存、磁盘等。

方法A:使用 Python(跨平台)

import platform
import psutil
# 系统信息
print("系统:", platform.system())
print("系统版本:", platform.version())
print("架构:", platform.machine())
print("主机名:", platform.node())
# CPU 信息
print("CPU 核心数:", psutil.cpu_count(logical=False))  # 物理核心
print("CPU 使用率:", psutil.cpu_percent(interval=1))
# 内存信息
mem = psutil.virtual_memory()
print("总内存:", mem.total // (1024**3), "GB")
# 磁盘信息
disk = psutil.disk_usage('/')
print("磁盘总空间:", disk.total // (1024**3), "GB")
print("磁盘使用率:", disk.percent)

如果未安装 psutil:先执行 pip install psutil

方法B:命令行(Windows PowerShell)

# 系统信息
Get-ComputerInfo | Select-Object OsName, OsVersion, WindowsVersion
# CPU 信息
Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed
# 内存信息
Get-CimInstance Win32_ComputerSystem | Select-Object TotalPhysicalMemory

方法C:命令行(Linux/macOS Bash)

# 系统信息
uname -a
# 内核版本
cat /proc/version
# CPU 信息(核心数、型号)
cat /proc/cpuinfo | grep "model name" | uniq
nproc
# 内存
free -h
# 磁盘
df -h

场景2:获取浏览器/Web平台信息(前端)

适用:用户使用的浏览器类型、版本、设备信息。

使用 JavaScript(在浏览器控制台或网页中运行)

// 浏览器信息
console.log(navigator.userAgent);         // UA 字符串
console.log(navigator.platform);          // 操作系统
console.log(navigator.language);          // 用户语言
console.log(navigator.appName);           // 浏览器名称(大多数返回 "Netscape")
console.log(navigator.appVersion);        // 浏览器版本
// 设备信息(移动端更有效)
console.log("设备类型:", /Mobi|Android/i.test(navigator.userAgent) ? "移动端" : "桌面端");
// 屏幕分辨率
console.log("屏幕:", screen.width + "x" + screen.height);
// 是否在线
console.log("在线状态:", navigator.onLine);

场景3:获取服务器/云平台信息(后端)

适用:云服务器(AWS / Azure / 阿里云 / 腾讯云等)元数据。

获取云平台元数据(HTTP 请求)

# 阿里云
curl http://100.100.100.200/latest/meta-data/
# AWS(EC2)
curl http://169.254.169.254/latest/meta-data/
# Azure
curl -H "Metadata: true" http://169.254.169.254/metadata/instance
# 腾讯云
curl http://metadata.tencentyun.com/latest/meta-data/

用 Python 获取阿里云元数据示例

import requests
try:
    resp = requests.get(
        "http://100.100.100.200/latest/meta-data/instance-id",
        timeout=2
    )
    print("实例ID:", resp.text)
except Exception:
    print("当前不在阿里云环境或无法访问元数据")

场景4:获取容器/虚拟化平台信息

检测 Docker / KVM / VirtualBox 等

# 检测是否为容器
cat /proc/1/cgroup | grep -i docker
# 检测虚拟化类型
systemd-detect-virt
# Linux 下查看 DMI 信息
cat /sys/class/dmi/id/product_name
# 可能输出:VirtualBox、KVM、VMware Virtual Platform 等

注意事项

  1. 合规性:脚本的使用应在自己管理的设备或获授权系统中进行。
  2. 平台差异:部分命令(如 systemd-detect-virt)仅在 Linux 上可用。
  3. 隐私保护:前端收集浏览器信息时,应符合网站隐私政策及 GDPR 等法规。

如果你指的是特定平台(如微信小程序、支付宝、抖音等生态内的信息获取),请补充说明,我可以提供更具体的代码。

抱歉,评论功能暂时关闭!