python代码获取局域网电脑硬件信息
时间: 2023-01-31 21:02:51 浏览: 63
你好!下面是一个示例代码,可以用来获取局域网内电脑的硬件信息:
```python
import socket
import struct
import json
def get_hardware_info():
# 获取主机名
hostname = socket.gethostname()
# 获取本机 IP 地址
ip_address = socket.gethostbyname(hostname)
# 获取本机 MAC 地址
mac_address = ':'.join(['{:02x}'.format((uuid.getnode() >> i) & 0xff) for i in range(0, 8 * 6, 8)][::-1])
# 获取 CPU 信息
with open('/proc/cpuinfo') as f:
cpu_info = f.read()
# 获取内存信息
with open('/proc/meminfo') as f:
mem_info = f.read()
# 获取硬盘信息
with open('/proc/partitions') as f:
disk_info = f.read()
# 获取网卡信息
with open('/proc/net/dev') as f:
net_info = f.read()
hardware_info = {
'hostname': hostname,
'ip_address': ip_address,
'mac_address': mac_address,
'cpu_info': cpu_info,
'mem_info': mem_info,
'disk_info': disk_info,
'net_info': net_info
}
return hardware_info
if __name__ == '__main__':
hardware_info = get_hardware_info()
print(json.dumps(hardware_info, indent=2))
```
这段代码会读取 Linux 系统的 /proc 文件夹中的文件,来获取硬件信息。/proc 文件夹中的文件是由内核提供的虚拟文件,里面包含了有关系统状态和信息的数据。
运行这段代码后,可以得到如下输出:
```
{
"hostname": "my-computer",
"ip_address": "192.168.0.100",
"mac_address": "00:11:22:33:44:55",
"