2009-05-24 11 views
6

Supongamos que tengo una estación de trabajo VMWARE (invitando a Windows y alojada por Windows). ¿Hay alguna manera posible de recibir el nombre de host de la máquina de host? Y sin cambiar las cosas en la máquina host como en this link.¿Hay alguna posibilidad de obtener el nombre de la computadora VMWARE HOST desde la estación de trabajo GUEST sin cambiar las cosas en HOST?

+0

http://www.virtuallyghetto.com/2011/01/how-to-extract-host-information-from.html – JohnLBevan

Respuesta

2

En principio - no.

Sin embargo, es posible que existan (o existan) ciertas vulnerabilidades que permiten que un SO huésped malicioso evite el entorno limitado de VM. Por ejemplo, lea en el Blue Pill. También puede leer más detalles en el blog del investigador, Invisible Things by Joanna Rutkowska.
Por supuesto, estos son sólo una prueba de concepto, pero cualquier seguridad implementada en el software está sujeta a errores de software ...

1

Tiene efectivamente dos computadoras en una red. Si usa una de las configuraciones de red privada/estilo NAT para las NIC virtuales, entonces el host tiene una dirección IP bastante predecible, por lo que podría usar cualquiera de los muchos enfoques de administración remota para preguntarlo como lo haría con cualquier otra .

Si solo hay un sistema operativo invitado, entonces probar cada dirección IP con los mismos 24 bits principales que la dirección IP del huésped ahorraría hornear en una aproximación a una dirección.

9

Lo hago pasando una cadena de host a invitado a través de machine.id. Requiere realizar un cambio en el host (también en el archivo .vmx de cada VM) y no descubre automáticamente el nombre de host del host, pero funciona. En el host, con la VM en cuestión desactivada, edite el archivo .vmx para la VM. Encontrar o añadir una línea que se parece a:

machine.id = "<string>"

Conjunto <string> igual a alguna cadena de identificación que le dirá el nombre del servidor. Este podría ser el nombre de host, o podría ser una versión abreviada de él, o incluso un código ininteligible si lo prefiere, siempre que sepa lo que significa. Sin embargo, si el archivo .vmx tiene una línea que establece

isolation.tools.machine.id.get.disable = TRUE

pasar una cadena no va a funcionar, así que si esta línea está presente es posible que quieran, ya sea quitar/comentar o establecer el valor en FALSE.

En el sistema operativo invitado, si tiene instaladas las herramientas de VMware, a continuación, puede hacer esto (para huéspedes Linux):

vmware-guestd --cmd 'machine.id.get'

o (para los clientes de Windows, que no he probado):

VMwareService --cmd machine.id.get
+2

Sin haber probado esto a fondo: El "nuevo" comando parece ser 'vmware-rpctool 'machine.id.get'' bajo Linux – Markus

2

Creo que hay probablemente un número de maneras de hacer esto, y puedo pensar en dos de buenas a primeras: Uno podría ser la instalación de ViX en el cliente, conectar con el host sin especificar el nombre de host, (Google " Referencia de ViX "luego vea" tareas comunes ") luego use Vix_CopyFileFromHostToGuest() para copiar el archivo /etc/vmware/esx.conf. Otro sería crear algún tipo de conexión de red entre el huésped y el host (utilicé ssh pero si no conoce el nombre de host o la IP, podría hacer lo mismo con la conexión ViX y enviar un trabajo que tarde un tiempo) y luego diga netstat -a en el invitado. El resultado netstat contendrá el nombre de host, si se puede resolver.

+2

Probablemente sea mejor proporcionar un enlace en lugar de asumir que las personas terminarán en el mismo lugar que tenían en mente después de buscar en Google. – khagler

3

Si usted es capaz de instalar PowerCLI en su sistema operativo huésped, podrá acceder a alguna información de host ESX buscando la máquina virtual que se ejecuta un script en:

Connect-VIServer -Server <myvcenterserver> 

$myVM = Get-VM -Name $(dir env:COMPUTERNAME).Value 

$myVM.Host.Name 

Nota: Esta asume su huésped tiene el mismo nombre de host que el nombre de VM en vCenter.

Para los invitados de Linux (el OP indica Windows) Uso el módulo de Python pyVmomi para realizar una búsqueda similar.

1

En vSphere

  1. Haga su anfitrión
  2. Haga clic en la ficha Configuración
  3. En la sección Software, en DNS y enrutamiento

VMware|vCenter|vSphere Host Configuration

+1

Me doy cuenta de que esto no es del sistema operativo invitado, pero si está tratando de obtener esa información del host de VM Host entonces no es un administrador. Debería tener acceso a vSphere a través de vCenter. – user2506891

3

Sé que esto es un hilo de edad, sin embargo, si alguien todavía está interesado, la respuesta de "thomas lee" anterior funciona en versión más reciente de estación de trabajo VMWare y VMWare fusion. El nuevo comando para recuperar el valor es

rpctool machine.id.get 

El uso de este en el despliegue de máquinas virtuales gestionado por la fusión de manera que el nombre de la máquina se ajusta en automático en el primer arranque. Gracias Thomas .....

Cuestiones relacionadas