本文目录导读:

场景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 等
注意事项
- 合规性:脚本的使用应在自己管理的设备或获授权系统中进行。
- 平台差异:部分命令(如
systemd-detect-virt)仅在 Linux 上可用。 - 隐私保护:前端收集浏览器信息时,应符合网站隐私政策及 GDPR 等法规。
如果你指的是特定平台(如微信小程序、支付宝、抖音等生态内的信息获取),请补充说明,我可以提供更具体的代码。