How can the host environment (not just the OS) be identified from a running guest VM. To determine what the underlying host and virtualization stacks being used actually are. I.e. whether there's a VMWare, Cisco, OpenStack or other IaaS solution powering it.
I already know of imvirt and virt-what but they don't provide a lot more info than the basic type of virtualization used, like KVM, Xen, etc.
How can I dig a level deeper and find out more specifics about the underlying stack and products being used. Are there any known reliable fingerprinting approaches?
- MAC address look ups don't seem to work
- Searching for Hardware vendor names in the output of
dmidecode
seems not reliable as these names are often customized and branded by the company running the infrastructure.
How reliable are lspci
results like:
00:02.0 VGA compatible controller: VMware SVGA II Adapter
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device
Does this mean that VMWare on Red Hat is used? Or does it mean nothing at all as these virtual devices can be used by anyone?
Thanks
PS: There is a related question here but quite old (from 08) and not quite the same: https://stackoverflow.com/questions/154163/detect-virtualized-os-from-an-application