#!/bin/bash # Proof of Concept # Relate hardware to vendors specs aka as people know it # Try to use minimal dependencies # MAC address' - can return multiples mac=$(ifconfig -a | awk '/^eth/ {print $NF}') mac2=$(ifconfig -a | awk '/^wlan/ {print $NF}') echo $mac $mac2 # System Architecture uname -m # CPU Brand, Number of Processors, Flags #cat /proc/cpuinfo cpu=$(cat /proc/cpuinfo | awk '/^vendor_id/ {print $3}') cpu2=$(cat /proc/cpuinfo | awk '/^processor/ {print $3+1}') # todo:sockets physical on board ie 2 for dual socket even if only 1 cpu populated cpu3=$(cat /proc/cpuinfo | grep flags | awk ' { for (i=3; i<=NF; i++) printf("%s ", $i) }') cpu4=$(cat /proc/cpuinfo | grep MHz | awk '/^cpu/ {printf ("%5.2f",$NF/1000)}') # todo: stepping, family echo $cpu $cpu2 $cpu3 $cpu4 # Mainboard Model Number - need a much better way #lshw dmidecode mb=$(dmesg | grep RSDT | awk '/^ACPI/ {print $6, $7}') #mb2=$(dmesg | grep RSDT) echo $mb # Total RAM mem=$(cat /proc/meminfo | awk '/^MemTotal/ {printf ("%5.0f",$2/1048576)}') echo $mem # Hard Disk Capacity - Only as root , any ideas for a user? hdd=$(fdisk -l | grep /dev/sda | awk '/^Disk/ {print $3}') echo $hdd # Video Card Vendor/Type #vga=$(lspci | awk '/^VGA/ {print $1:$NF}') vga=$(lspci | grep VGA) echo $vga # VirtualMachines - how do I know if running? #VMware #VirtualBox # End of File