That's an easy question, and the answer isn't too difficult either:
- Query the MAC address of the local network card. If it starts with "00:50:56", that indicates that it's a VMware VM.
- List devices on the PCI bus. If there's devices with vendor ID 15ad, you can be sure that this is a VMware VM.
- Look at the BIOS information (DMI). If you see Manufacturer "VMware, Inc", and the serial number starts with "VMware", and the Product Name is "VMware Virtual Platform", that's again very clear.
- In a typical VMware VM, you should find the VMware Tools running: the vmmemctl driver, maybe the vmxnet network card driver maybe, the vmware-guestd or VMwareUser or VMwareTray processes, ...
- use "/sbin/ifconfig eth0" on Linux, "ipconfig /all" on Windows. You can do this as a normal user.
- use "/sbin/lspci" on Linux. Also possible as a normal user.
- use "dmidecode" on Linux, or the third-party tool CrystalDMI on Windows. This is only possible with administrative privileges.
- use "ps auxfw" and "ls /proc/vmmemctl" on Linux, Task Manager on Windows. Can be done as a normal user.