Skip to content

Commit

Permalink
README: improve, documenting new vmware detection mechanisms and impr…
Browse files Browse the repository at this point in the history
…oving rationale prose (closes #4)
  • Loading branch information
kaniini committed Jan 30, 2014
1 parent 59dab5a commit 6929532
Showing 1 changed file with 22 additions and 11 deletions.
33 changes: 22 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,24 @@

Detect if your container/VPS is running under a specific hypervisor.

Why would you want this? Well... a lot of dishonest hosting providers will run their
OpenVZ/LXC containers inside another virtual machine.
Why would you want this?

This tool is meant to expose such subterfuge. In a lot of cases, they will attempt to
hide it, by either obfuscating cpuinfo or other sloppyness.
Some hosting providers run their container hosting services (OpenVZ,
LXC VPS, Docker-as-a-Service, etc) under a parent hypervisor, without
disclosing that practice. Worse yet, a few providers have been caught
doing this while explicitly claiming not to.

There are also of course, providers which do rightfully disclose their
usage of a parent hypervisor for their services, usually as part of a
high availability scheme.

In essence, the point of this tool is simply to disclose whether or not
your container is running under a hypervisor, and what information can be
collected about the hypervisor from inside the container.

It also detects common container types (i.e. OpenVZ), to clarify to the
user whether or not their VPS environment is inside a container, whether it's
in a hypervisor, or whether both aspects apply (container inside hypervisor).

## usage

Expand All @@ -16,6 +29,7 @@ Just download the source and go, basically. You'll need GCC installed, of cours
kaniini@localhost ~/slabbed-or-not> make
gcc -o slabbed-or-not slabbed-or-not.c
kaniini@localhost ~/slabbed-or-not> ./slabbed-or-not
Container: OpenVZ
Hypervisor: Xen PV
Version: 4.3
```
Expand All @@ -26,13 +40,10 @@ Version: 4.3
* PV or HVM mode
* Hypervisor version
* VMware
* Hypervisor type (Workstation, GSX/ESX)
* Enumeratable virtual devices
* VMware Tools backdoor protocol version (usually 6)
* Virtualized hardware model version
* Hyper-V
* KVM
* bhyve

## what it's not

This is not a substitute for `virt-what`. `virt-what` is supposed to detect what
you've been sold, not what they are actually providing. So, it should rightfully report
an OpenVZ or LXC container as such. Even if it's running under a hypervisor.

0 comments on commit 6929532

Please sign in to comment.