use*_*314 5 amazon virtual-machine azure
一般来说,有没有办法检测您的代码是否在 Azure 或 Amazon 虚拟机上执行。我不是特别指某种网络或工作者角色,我的意思是给定任何可执行文件,是否有任何东西可以将该机器解析为云 VM - 例如在 Azure 下没有域,所以我不能简单地依赖域名.
如果您的访客已联网,那么您可以通过访问http://169.254.169.254来探测实例元数据
例如:
$ curl http://169.254.169.254/1.0/meta-data/instance-id
i-87dc2f76
Run Code Online (Sandbox Code Playgroud)
然而,打击网络是相当重要的。
在 AWS 上,您还可以通过查看 dmidecode 进行检查:
$ /usr/sbin/dmidecode -s bios-version | tr "[:upper:]" "[:lower:]" | grep -q "amazon"
Run Code Online (Sandbox Code Playgroud)
dmidecode 是轻量级的,因为它只访问客户操作系统的内存。但是,正如之前的答案所指出的那样,这取决于亚马逊是否继续在其版本字符串中包含“亚马逊”一词。
在 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"
Run Code Online (Sandbox Code Playgroud)
@Dan 的答案不再适用于 Azure,请使用以下 URL 获取更好的列表
http://msdn.microsoft.com/en-us/library/windowsazure/dn175718.aspx
如果这个网址消失了,这里是今天的副本(2013 年 8 月 12 日)
Europe West
65.52.128.0/19
213.199.128.0/20
168.63.0.0/19
168.63.96.0/19
137.116.192.0/19
137.117.128.0/17
168.61.56.0/21
Europe North
65.52.64.0/20
65.52.224.0/19
168.63.92.0/22
168.63.32.0/19
94.245.88.0/21
94.245.104.0/21
168.63.64.0/20
168.63.80.0/20
168.61.96.0/19
137.116.224.0/20
US East
168.62.32.0/19
157.56.176.0/21
168.62.160.0/19
168.61.32.0/20
168.61.48.0/21
137.117.64.0/18
137.135.64.0/18
138.91.96.0/19
137.116.112.0/20
US West
168.62.192.0/20
168.62.208.0/21
168.61.0.0/20
168.61.64.0/20
137.117.0.0/19
137.135.0.0/18
137.116.184.0/21
138.91.64.0/19
65.52.112.0/20
168.63.89.0/24
157.56.160.0/21
168.62.0.0/19
US North Central
65.52.0.0/19
65.52.0.0/20
65.52.16.0/20
65.52.192.0/19
65.52.48.0/20
157.55.24.0/21
157.55.64.0/20
157.55.160.0/20
157.55.136.0/21
157.55.208.0/20
157.56.8.0/21
157.55.252.0/22
168.62.96.0/19
157.55.248.0/22
168.62.224.0/19
US South Central
157.55.176.10/22
157.55.183.223/27
157.55.184.10/22
157.55.191.223/27
157.55.192.10/24
157.55.193.223/27
157.55.194.10/24
157.55.195.223/27
157.55.196.10/23
157.55.200.10/23
157.55.80.10/23
157.55.83.223/27
157.55.84.10/23
157.55.87.223/27
65.52.32.10/22
65.52.39.224/28
70.37.160.10/22
70.37.167.224/28
70.37.118.0/24
70.37.119.138/28
70.37.119.170/28
70.37.48.10/22
70.37.55.224/28
70.37.56.10/22
70.37.63.224/28
70.37.116.0/24
SE Asia
111.221.96.0/20
168.63.160.0/19
111.221.80.0/20
168.63.224.0/19
137.116.128.0/19
East Asia
65.52.160.0/19
111.221.78.0/23
168.63.128.0/19
168.63.192.0/19
137.116.160.0/20
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3963 次 |
| 最近记录: |