gpt4 book ai didi

amazon-web-services - 如何检测Azure/Amazon VM

转载 作者:行者123 更新时间:2023-12-04 23:26:51 28 4
gpt4 key购买 nike

有没有什么方法可以检测您的代码是否在 Azure 或 Amazon 虚拟机上执行。我并不是特别指某种网络或辅助角色,我的意思是给定任何可执行文件,是否有任何东西可以将该计算机解析为云虚拟机 - 例如在 Azure 下没有域,所以我不能简单地依赖域名.

最佳答案

AWS

如果您的 guest 已联网,那么您可以通过访问 http://169.254.169.254 来探测实例元数据

例如:

$ curl http://169.254.169.254/1.0/meta-data/instance-id
i-87dc2f76

但是,访问网络是相当重量级的。

在 AWS 上,您还可以通过查看 dmidecode 进行检查:

$ /usr/sbin/dmidecode -s bios-version | tr "[:upper:]" "[:lower:]" | grep -q "amazon"

dmidecode 是轻量级的,因为它只访问 guest 操作系统的内存。然而,正如之前的答案所指出的,这取决于亚马逊继续在其版本字符串中包含“amazon”一词。

azure

在 Azure 上,您可以检测虚拟机管理程序详细信息,但这不允许您区分 Azure 和 HyperV。根据您的情况,这可能没有必要。

要使用 dmidecode 检测 Azure/HyperV,请检查以下字符串:

$ /usr/sbin/dmidecode -s system-manufacturer | tr "[:upper:]" "[:lower:]" | grep -q "microsoft corporation"

$ /usr/sbin/dmidecode -s system-product-name | tr "[:upper:]" "[:lower:]" | grep -q "virtual machine"

关于amazon-web-services - 如何检测Azure/Amazon VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11570965/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com