无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 48817|回复: 552

[分享] 开源的硬件信息工具nwinfo [20240416]

    [复制链接]
发表于 2021-12-3 14:34:52 | 显示全部楼层 |阅读模式
本帖最后由 wintoflash 于 2024-4-16 14:56 编辑

下载:v0.9.6 nwinfo.zip (1.64 MB, 下载次数: 1204)

评分

参与人数 13无忧币 +60 收起 理由
yyz2191958 + 2 赞一个!
lps4290 + 5
807979023 + 5 赞一个!
cuicongyuan + 5 赞一个!
shmoss + 5 很给力!
wybuct + 5 赞一个!
15159050498 + 3 很给力!
wmx400 + 5 赞一个!
xzf680 + 5 抓白嫖一葱,很给力
纯脆entropy + 5
江南一根葱 + 5 亲自白嫖
freesoft00 + 5
slore + 5 很给力!

查看全部评分

 楼主| 发表于 2021-12-3 14:34:53 | 显示全部楼层
smbios文档:https://www.dmtf.org/standards/smbios
smbios表的获取:
Server2003及以上系统可以使用GetSystemFirmwareTable获得smbios表。
通过BIOS启动的XP系统可以读取物理内存0xf0000-0x10000处,查找标记 "_SM3_" 或 "_SM_"取得smbios表。
smbios表的信息是由固件提供的,信息不一定可靠。

acpi文档:https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/
acpi表的获取:
Server2003及以上系统可以使用GetSystemFirmwareTable获得各个acpi表。
通过BIOS启动的XP可以读取物理内存查找"RSD PTR"获得RSDP的位置。RSDP 一般位于 0xe0000-0x100000,或者EBDA内。

SPD文档:https://www.jedec.org/taxonomy/term/2327
SPD的获取:
遍历PCI设备,查找smbus(类型为0c05),获取smbus端口。
注意 DDR4 的 SPD 数据是 512 字节,读取前 256 字节后要切换页面,再读后 256 字节。
回复

使用道具 举报

 楼主| 发表于 2021-12-3 14:37:24 | 显示全部楼层
本帖最后由 wintoflash 于 2021-12-3 15:32 编辑

读取cpu信息有两种途径,smbios和cpuid。
smbios表4和表7分别是cpu和缓存的信息。
但是这些信息是由BIOS提供的,可能不准确。
使用cpuid指令可以让cpu报告自己的一些信息,这个是更准确的。
cpuid eax=0,在ebx,edx,ecx中会返回cpu厂商。
cpuid eax=0x80000002, 0x80000003, 0x80000004,可以返回cpu型号。
cpuid eax=0x40000000,可以返回虚拟机的ID。对于VMware,这个字符串是"VMwareVMware"。
回复

使用道具 举报

发表于 2021-12-3 15:35:19 | 显示全部楼层
原有留旧版单文件 2021/11/01,
新版不是单文件就没收藏了.

原来可删除其它的文件,那就继续收藏.

给个建议:

参数 --sys 这种语法,Linux 常见,
如果在 Windows OS 上,
建议用 -sys /sys 这 2 种也接受,
这是 Windows OS 使用习惯.


回复

使用道具 举报

 楼主| 发表于 2021-12-3 15:38:18 | 显示全部楼层
对于Intel CPU,可以通过msr寄存器获取CPU的温度。
rdmsr ecx=0x1A2,寄存器的16-22位为Tj。
rdmsr ecx=0x19C,寄存器的16-22位为∆T。
CPU温度=Tj - ∆T。
回复

使用道具 举报

 楼主| 发表于 2021-12-3 15:47:58 | 显示全部楼层
获取操作系统版本,我这里用的是ntdll.dll中的 RtlGetVersion。
据微软的说法,高版本中 GetVersionEx 已经废弃了,得到的信息是错误的。

获取启动固件类型,使用的是
GetFirmwareEnvironmentVariableA("", "{00000000-0000-0000-0000-000000000000}", NULL, 0)。
如果错误代码为 ERROR_INVALID_FUNCTION,则固件类型为 Legacy BIOS。

回复

使用道具 举报

 楼主| 发表于 2021-12-3 16:04:12 | 显示全部楼层
本帖最后由 wintoflash 于 2021-12-3 16:06 编辑
plusv 发表于 2021-12-3 15:35
原有留旧版单文件 2021/11/01,
新版不是单文件就没收藏了.

老哥 我还没写完呢你就回帖了。
是的,只保留一个单文件不影响大多数功能的使用。
pci.ids 和 usb.ids 外置,一是因为它们太大了。二是不方便用户更新。用户如有需要,可以自己按pci.ids的格式弄自己的硬件id库。
HwRwDrv驱动外置,是因为这个驱动有一些敏感操作,内置会被大多数杀软报毒。

至于参数格式,因为我更习惯linux的方式,所以使用--xxx这种格式。
支持其他的格式似乎没有必要,增大体积却没有带来实际上功能的增加。
回复

使用道具 举报

发表于 2021-12-3 17:00:44 来自手机 | 显示全部楼层
好东西,收藏了。
回复

使用道具 举报

发表于 2021-12-3 18:38:05 | 显示全部楼层
谢谢分享,win确实参数格式减号极少用。
回复

使用道具 举报

发表于 2021-12-3 18:52:53 来自手机 | 显示全部楼层
功能强大,应该单独发帖!支持!        
回复

使用道具 举报

发表于 2021-12-3 19:03:08 | 显示全部楼层
这个要收藏。一直想找个这样的工具
回复

使用道具 举报

发表于 2021-12-3 19:07:52 | 显示全部楼层
旁观者清 发表于 2021-12-3 18:38
谢谢分享,win确实参数格式减号极少用。

从 DOS 到现在 Windows ,
以 / 最多,
以 - 次之.

现在通常是 / 与 - 都通用,
不过最保险的还是使用 / 百分百能用,
- 有些程序不接受.
回复

使用道具 举报

发表于 2021-12-3 20:35:25 | 显示全部楼层

好东西,收藏了。
回复

使用道具 举报

发表于 2021-12-3 21:39:38 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2021-12-3 21:43:39 | 显示全部楼层
要是开发个UOS版的就好了!
回复

使用道具 举报

 楼主| 发表于 2021-12-3 22:29:28 | 显示全部楼层
smalldimple 发表于 2021-12-3 21:43
要是开发个UOS版的就好了!

不需要。linux下这些全都有现成的。
回复

使用道具 举报

发表于 2021-12-3 22:44:44 | 显示全部楼层
plusv 发表于 2021-12-3 19:07
从 DOS 到现在 Windows ,
以 / 最多,
以 - 次之.

ping参数倒是减号,如ping 192.168.4.1 -t
回复

使用道具 举报

发表于 2021-12-3 22:51:47 | 显示全部楼层
旁观者清 发表于 2021-12-3 22:44
ping参数倒是减号,如ping 192.168.4.1 -t


2 个都可以.

ping 8.8.8.8 -t
ping 8.8.8.8 /t

ping /?
ping -?

--------------------------

dir /? 可以

dir -? 不可以
回复

使用道具 举报

发表于 2021-12-4 00:24:07 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2021-12-4 15:23:34 | 显示全部楼层
好资源
E文显得更专业
回复

使用道具 举报

发表于 2021-12-5 14:55:21 | 显示全部楼层
旁观者清 发表于 2021-12-3 18:38
谢谢分享,win确实参数格式减号极少用。

我记得某些gnu移植软件,是两个减号
回复

使用道具 举报

发表于 2021-12-5 14:59:37 | 显示全部楼层
winpefk 发表于 2021-12-5 14:55
我记得某些gnu移植软件,是两个减号

4F

PS:

GNU 是一个自由的作业系统,其内容软体完全以 GPL 方式释出。
这个作业系统是 GNU 计划的主要目标,名称来自 GNU's Not Unix! 的递回缩写,
因为 GNU 的设计类似 Unix,但它不包含具著作权的 Unix 代码。


回复

使用道具 举报

发表于 2021-12-5 15:26:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2021-12-5 18:27:26 | 显示全部楼层
DOSforever 发表于 2021-12-5 15:26
这个啥意思? github 上找不到可执行文件下载,难道还要下载源码后自己编译?


1.png
2.png
回复

使用道具 举报

发表于 2021-12-5 23:06:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2021-12-6 09:08:25 | 显示全部楼层
DOSforever 发表于 2021-12-5 23:06
哦,看到了,原来下载链接是在边上不起眼的地方。

有图么?
回复

使用道具 举报

发表于 2021-12-6 12:27:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2021-12-6 13:42:00 | 显示全部楼层
DOSforever 发表于 2021-12-6 12:27
我上一层 wintoflash 不是截图用红框框出来了吗,黑图右边的位置。

一周前进去没找到。
回复

使用道具 举报

 楼主| 发表于 2021-12-6 20:13:42 | 显示全部楼层
2021-12-06 更新:
nwinfo --sys 增加 TPM 检测、Windows域。
nwinfo --net 增加 DHCP 信息。

评分

参与人数 1无忧币 +10 收起 理由
liuzhaoyzz + 10 很给力!

查看全部评分

回复

使用道具 举报

发表于 2021-12-8 07:41:15 | 显示全部楼层
牛工具,方便实用!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-2 22:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表