皇冠APP(www.huangguan.us):【手艺原创】vSphere开发指南1——vSphere Automation API

新2网址大全

www.22223388.com)实时更新发布最新最快最有效的新2网址和新2最新网址,包括新2手机网址,新2备用网址,皇冠最新网址,新2足球网址,新2网址大全。

,

0x00 前言

VMware vCenter Server是VMware虚拟化治理平台,普遍的应用于企业私有云内网中。站在渗透测试工具开发的角度,我们需要通过下令行实现vCenter Server同虚拟机的交互。

本系列文章将要对照多种差其余API,先容实现细节,开源代码,实现以下功效:

· 读取虚拟机的设置

· 查看虚拟机文件

· 删除虚拟机文件

· 向虚拟机上传文件

· 从虚拟机下载文件

· 在虚拟机中执行下令

0x01 简介

本文将要先容以下内容:

· 基础知识

· vSphere Automation API开发细节

· 开源代码vSphereAutomationAPI_Manage.py

0x02 基础知识

1.VMware vSphere

VMware vSphere是整个VMware套件的商业名称,而不是特定的产物或软件。

VMware vSphere的两个焦点组件是ESXi服务器和vCenter Server。

2.ESXi

ESXi是hypervsior,可以在其中确立和运行虚拟机和虚拟装备。

3.vCenter Server

vCenter Server是用于治理网络中毗邻的多个ESXi主机和池主机资源的服务。

vCenter Server可安装至Linux系统中,通过安装vCenter Server Appliance(VCSA)实现。

vCenter Server也可安装至Windows系统中,通过安装Vmware Integrated Management(VIM)实现。

0x03 vSphere Automation API开发细节

官方文档:

https://developer.vmware.com/docs/vsphere-automation/latest/

为了能够通过下令行实现vCenter Server同虚拟机的交互,我们需要使用vSphere Automation API中的vSphere REST API部门。

VMware在vSphere 6.0版本中引入了REST API,从vSphere7.0U2最先,VMware宣布弃用旧的REST API,使用新的REST API。

参考资料:

https://core.vmware.com/blog/vsphere-7-update-2-rest-api-modernization

经由对比,发现旧的REST API(低于vSphere7.0U2)不支持以下操作:

· 查看虚拟机文件

· 删除虚拟机文件

· 向虚拟机上传文件

· 从虚拟机下载文件

· 在虚拟机中执行下令

而新的REST API能够知足需求,以是在开发上我们需要先对vCenter的版本举行判断,若是知足要求(不低于vSphere7.0U2),那么才使用vSphere Automation API。

1.已有的开源代码

https://github.com/vmware/vsphere-automation-sdk-python/

vSphere Automation Python SDK示例。

在/samples/vsphere/vcenter/vm文件夹下有可供参考的实现代码。

其中,samples/vsphere/vcenter/vm/guest/guest_ops.py实现了在虚拟机中执行下令。

测试环境1:192.168.1.1(vCenter 6.7.0)

Windows环境加载该剧本的示例下令如下:


剧本执行失败,提醒如下:


测试环境2:192.168.1.2(vCenter 7.0.2)

Windows环境加载该剧本的示例下令如下:


剧本执行乐成。

经由更多的测试后,印证结论:vSphere Automation API在低版本(低于vSphere7.0U2)无法实现以下操作:

· 查看虚拟机文件

· 删除虚拟机文件

· 向虚拟机上传文件

· 从虚拟机下载文件

· 在虚拟机中执行下令

2.参考文档用原始数据包实现

参考文档:

https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/

皇冠APP

www.huangguan.us)是一个开放皇冠即时比分、皇冠官网注册的平台。皇冠APP(www.huangguan.us)提供最新皇冠登录,皇冠APP下载包含新皇冠体育代理、会员APP。

在实现上,首先需要发送用户名和明文口令获得Session,使用Session作为登录凭证,举行后续的操作。

详细实现细节如下:

(1)判断vCenter的版本

获得大略版本的方式:

浏览器接见: https://< server_hostname >/sdk/vimServiceVersions.xml

返回效果为xml数据,无法获得详细的版本。

获得详细号版本的方式:

接见:https://< server_hostname>/sdk/

正文内容如下:

注:

vSphere 7.0U2对应对build属性为17630552

(2)Create_Session

添加Header:


其中,dXNlcm5hbWU6cGFzc3dvcmQ为username:password作Base64编码后的效果。

返回效果名堂:响应码201,名堂为application/json类型。

(3)List_Guest_Processes

请求正文需要json名堂的数据作为凭证,用来登录虚拟机。

名堂示例:


(4)vCenter同虚拟机传输文件

参考文档:

https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vm/guest/filesystemactioncreate/post/

官方文档形貌的不够详细

这里给出我经由测试得出的结论:

1.将文件从内陆发送至虚拟机,即向虚拟机发送该文件,先挪用Create_Temporary_Guest_Filesystem_Files确立指定文件对应的uri

发送的内容名堂如下;


不带有size属性。

发送乐成后返回该文件对应的uri,使用PUT方式接见uri,data字段为发送的文件内容。

2.将该文件从虚拟机发送至内陆,即读取虚拟机中的文件,先挪用Create_Temporary_Guest_Filesystem_Files确立指定文件对应的uri。

发送的内容名堂如下;


必须带有size属性。

发送乐成后返回该文件对应的uri,使用GET方式接见uri,在获取文件内容时需要区分文本名堂和二进制名堂,文本名堂可以使用r.text读取,二进制名堂可以使用r.content读取。

0x04 开源代码

完整的开源代码已上传至github,地址如下:

https://github.com/3gstudent/Homework-of-Python/blob/master/vSphereAutomationAPI_Manage.py

代码适用版本:vSphere 7.0U1+

支持以下功效:

· 读取虚拟机的设置

· 查看虚拟机文件

· 删除虚拟机文件

· 向虚拟机上传文件

· 从虚拟机下载文件

· 在虚拟机中执行下令

详细下令如下:

· ListVM

· GetVMConfig

· ListHost

· ListVMProcess

· CreateVMProcess

· KillVMProcess

· ListVMFolder

· DeleteVMFile

· DownloadFileFromVM

· UploadFileToVM

其中,对于虚拟机的操作,支持Windows和Linux系统

0x05 小结

本文先容了通过vSphere Automation API实现vCenter Server同虚拟机交互的方式,开源实现代码vSphereAutomationAPI_Manage.py,纪录开发细节。

对于vSphere Automation API,有些操作不支持低版本的vCenter(<vSphere7.0U2),导致通用性不够,以是下篇文章将要先容更为通用的实现方式。


本文为 3gstudent 原创稿件,授权嘶吼独家公布,

  • 评论列表:
  •  皇冠代理登录线路(www.22223388.com)
     发布于 2021-09-17 00:03:34  回复
  • 扩容是加密天下一个长盛不衰的话题,以太坊也不破例。每当以太坊生态火爆的时刻,手续费高昂的问题往往随同而来,以至于用户怨声载道,苦不堪言。包罗状态通道、侧链、Plasma 在内的种种手艺方案纷纷提出并引发猛烈讨论,但它们又由于各自的问题无法获得社区的大规模接纳。Rollup 手艺的降生给以太坊社区带来了一丝期望,并获得了 Vitalik 的认可,成为了理想的新天下。基于Rollup手艺的项目层出不穷,冒出了如 Optimism、zkSync、Arbitrum 的新项目,也有不甘落伍从侧链项目转型增添支持 Rollup 的 Polygon(Matic),希望能够在 Layer 2 板块抢占一块市场,成为 Layer 2 霸主。每日必追的文。

添加回复:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。