web-dev-qa-db-ja.com

仮想マシン内からホストマシンに関する情報を見つけることは可能ですか?

仮想マシン内からホストマシンに関する情報を見つけることは可能ですか?

たとえば、そのIP。

編集:私がこれまでに見つけた1つのことは:

HKLM\SOFTWARE\Microsoft\Virtual Machine\Guest\Parametersに含まれるもの

  • HostName
  • 物理ホスト名
  • PhysicalHostNameFullyQualified

等.

4
alex

これに対する理想的な答え(VM管理の観点から)は、物理ホストについて、その情報が明示的に利用可能にされていない限り、何も言えないはずです。実際には= VMインストールは、ホストに関する情報をリークする傾向があります。これは主に、より優れたVMパフォーマンスを提供するカスタマイズされた(多くの場合準仮想化された)ドライバーがインストールされているためです。デフォルトのセットアップ= VM環境は通常、さまざまな場所にいくつかの基本情報を提供します(リストしたHyper-Vデータなど)。

これを実行したい正当な理由を確認できるシナリオがいくつかありますが(たとえば、クラスター内のa VMで、実行中のホストが実際にすべての物理リソースを提供しているかどうかを確認する)= VMは、高負荷で優先度の低いタスクを開始する前にあると考えています)VM「ホスト」についてもっと知りたい」というほとんどすべてのケースが悪意のあるものです。VMで実行されているプロセスがこのタイプの情報を知る正当な理由がある場合、その情報を提供するための正当なメカニズムを設定するのは簡単な作業です-ほとんどの場合a VM adminとしての部分VMにこれを通知させたくありません。

これ Sourcefire VRTからの投稿 マルウェアがVM)で実行されているかどうかを検出するためにマルウェアが使用するメカニズムのいくつかと、実行可能な緩和アクションの概要を示します。それらに対抗する-ほとんどの場合、a VMは、それがVMで実行されていることをほぼ常に伝えることができ、通常はハイパーバイザーベンダーに伝えることができ、おそらくハイパーバイザーの種類。特定のバージョンについては適切な推測を行う可能性があります。通常、追加の情報がネットワークから収集されますが、それはほぼ確実に悪意のあるものとして分類される種類のアクティビティです。その投稿を読むと、 VMを構成することができるため、VMで実行されているものはすべて、 VMしたがって、これらのメカニズムに依存することは悪い考えです。

ハイパーバイザーの「IPアドレス」に関する特定の質問についての一般的な答えは、ハイパーバイザーには多くのIPアドレス(管理コンソール、iSCSIポート、Live Motion\Fault Toleranceポート、および明示的でない多くのポート)がある可能性があるということです。 ip-addresses(VMポート)およびその他のバリエーション。 Hyper-Vの例のように、管理コンソールのIPアドレスを見つけるのは簡単なことかもしれませんが、適切に設計されたVMインフラストラクチャではVMがすべきではないもの)管理コンソールのアドレスにルーティングできません。

4
Helvick

仮想マシンのレジストリのHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Virtual Machine\Guest\Parametersキーは、hyper-vホストマシンの情報をリストします。 Windows 2003を使用していますVM hyper-v Host 2008 R2サーバーで実行しています。2003vmのレジストリでホストマシン名を確認できます。

2
mdexch

あなたはあなたが探していたものを正確に特定したと思います。そのレジストリキーは、Hyper-Vがホストマシンに関する情報を提供する方法です。

VMを保存してから復元するか、移行中にあなたが書いたコードやスクリプトが実行されているものは何でも。

1
Jake Oshins

仮想マシンのゲストは理論的にはホストについて何も「知りません」が(通常はVMでさえも知りません)、ホストをネットワーク上の単なる別のマシンとして扱うだけで、ホストに関する情報を取得できます。ゲストの視点から。これは、ゲストがネットワーク上のホストを参照できることを前提としています。

ホストへのネットワークアクセス(および適切な資格情報)を取得したら、情報を収集するためのいくつかのオプションがあります。

  • リモートレジストリアクセス(上記のとおり)
  • コマンドのリモート実行。たとえば、無料のpsexec.exe( http://technet.Microsoft.com/en-us/sysinternals/bb897553.aspx )を実行して、IPCONFIGやその他のコマンドラインをリモートで実行できます。 。例えば:

psexec \\ Host_computer_name ipconfig

0
Matthew

ほとんどありません。ゲストOSはホストマシンにアクセスできません。ゲストがホストと話したいのはなぜですか?

0
mrdenny

セキュリティ上の理由から、私は答えはノーだと確信しています。ネットワークを介してホストにアクセスできるホストのみのネットワーク接続を作成しない限り。アイデアは、ホストが最初にその情報へのアクセスを許可する必要があるということです。

0
Alfero Chingono

Libvirtをチェックしてください。主にサーバー側指向であるように見えますが、たとえば、サーバーから使用されているPCIスロットをクライアントから検索して、制御を引き継ぐなどの目的で、クライアント側の機能がいくつかあります(または少なくともそれらを含める予定です)。サウンドカード。

VMで実行しているか、またはどのようなVMで実行しているかなど、単純なことを知りたいだけの場合は、仮想マシンのBIOS IDまたはその他のデバイスを確認するのがおそらく最も簡単です。識別子文字列。

0
Lee B