OpDemand Shell

軟件截圖:
OpDemand Shell
軟件詳細信息:
版本: 0.9
上傳日期: 15 Apr 15
開發: OpDemand
許可: 免費
人氣: 10

Rating: nan/5 (Total Votes: 0)

在OpDemand殼牌項目包含命令行客戶端界面的C2系統。這些蟒蛇模塊OpDemand的命令和控制技術(C2)的一部分。
打開源代碼
在C2殼項目已取得了開源通過OpDemand。
C2殼牌文檔
開始之前
- 您將需要一個積極的C2帳戶。創建一個免費的https://c2.opdemand.com/
- 說明假定OSX或Linux(Windows並未經過測試,但應工作)
安裝
安裝使用標準的distutils約定。
sudo的蟒蛇setup.py安裝
配置
添加您的C2登錄電子郵件地址為本地客戶端配置。
C2本地設置--email=c2user@opdemand.com
是C2當地get會顯示當前配置。
登錄
發出C2登錄,將使用上述配置的電子郵件地址,並提示您輸入密碼。
用戶@框:〜/工作區/ C2殼$ C2登錄
密碼:
2011-06-07 08:44:12052 - 信息 - => POST https://c2core.opdemand.com/session
2011-06-07 08:44:13,095 - 信息 - GET https://c2core.opdemand.com/template
2011-06-07 09:21:21879 - 信息 - <= 200 OK,讀1822個字節的應用/ JSON
[#JSON模板列表
&NBSP; {
&NBSP;#第一個模板
&NBSP;},
&NBSP; {
&NBSP;#二模板
&NBSP;}
]
2011-06-07 09:21:21881 - 信息 - (模板/清單)中0.524872s成功
找到你要部署的模板的_id值,並將其複製到剪貼板。
創建一個新的平台
選擇所需的模板,並出具模板_id,這將創造一個新的平台的C2模板負荷。
用戶@框:〜/工作區/ C2殼$ C2模板負荷--_ ID = 6c86dfc5ddfe464199021b8dcaf521a2
2011-06-07 09:42:36711 - 信息 - => POST https://c2core.opdemand.com/template/6c86dfc5ddfe464199021b8dcaf521a2/load
2011-06-07 09:42:38606 - 信息 - <= 201創建,讀取14850字節的應用/ JSON
{
&NBSP;#模板更長JSON表示
}
2011-06-07 09:42:38757 - 信息 - (模板/負載)在2.061932s成功
列表平台
發出C2平台列表,查看您帳戶中的可用平台。
用戶@框:〜/工作區/ C2殼$ C2平台列表
2011-06-07 09:46:48327 - 信息 - => GET https://c2core.opdemand.com/platform
2011-06-07 09:46:48884 - 信息 - <= 200 OK,讀566個字節的應用/ JSON
[
&NBSP; {
&NBSP;#您的新平台
&NBSP;}
]
2011-06-07 09:46:48885 - 信息 - (平台/列表)中0.572228s成功
這個平台的_id複製到剪貼板。
閱讀平台
列表操作只顯示在集合中的項目總結陳述。要查看一個平台(一個包括其嵌套組件),您必須發出讀取C2平台,提供_id全表示:
用戶@框:〜/工作區/ C2殼$ C2平台閱讀--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 10:16:06050 - 信息 - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 10:16:06984 - 信息 - <= 200 OK,閱讀14850字節的應用/ JSON
{
&NBSP;#完整平台的代表性
}
2011-06-07 10:16:07152 - 信息 - (平台/讀取)在1.117754s成功
與JSON響應工作
上述平台太長閱讀。幸運的是,C2的外殼包括一個集成的JSON prettifier,使得JSON輸出任何C2 shell命令更容易閱讀。
只需通過管道將任何C2命令漂亮C2:
用戶@框:〜/工作區/ C2殼$ C2模板讀--_ ID = 6c86dfc5ddfe464199021b8dcaf521a2 | C2漂亮
2011-06-07 09:32:00646 - 信息 - => GET https://c2core.opdemand.com/template/6c86dfc5ddfe464199021b8dcaf521a2
2011-06-07 09:32:01378 - 信息 - <= 200 OK,閱讀12022字節的應用/ JSON
2011-06-07 09:32:01535 - 信息 - (模板/讀取)在0.904613s成功
tiers.0.name“網絡層”
tiers.0.doctype“梯隊”
tiers.0._rev“1-5a37d211b276deee536cd72a016af8fa”
...美化JSON休息
從標準輸入讀取和寫入到標準輸出的所有C2命令。這意味著原始JSON和美化JSON可以通過管道輸送到使用UNIX風格的管道任何其他命令。 (例如grep的)。
配置平台
首先閱讀平台和grep默認配置信息:
用戶@框:〜/工作區/ C2殼$ C2平台閱讀--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e | C2漂亮| grep的配置
2011-06-07 10:26:29828 - 信息 - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 10:26:30486 - 信息 - <= 200 OK,閱讀14850字節的應用/ JSON
2011-06-07 10:26:30635 - 信息 - (平台/讀取)在0.821403s成功
config.access_network“0.0.0.0/0”
config.image_id“AMI-06ad526f”
config.doctype“配置”
config._rev“1-38d720a0975e4d377ccbfd3cb7864185”
config.access_port“22”
config.cloud_name“美東1”
config.clone_.parent_id“ceee3724a3674bc096a2a6d2dfde7209”
config.clone_.parent_impl.cls_“c2core.resolve.Config”
config.admin_network“0.0.0.0/0”
config._id“ceee3724a3674bc096a2a6d2dfde7209”
config.impl.cls_“c2core.resolve.Config”
config.views.7bbeacb1082e4810bb1a664​​3d024496e.0.0“7bbeacb1082e4810bb1a664​​3d024496e”
config.views.7bbeacb1082e4810bb1a664​​3d024496e.0.1“配置”
metadata.config_info.access_port“監聽端口的服務器上”
metadata.config_info.access_network“網絡掩碼大眾用戶”
metadata.config_info.cloud_name“名稱AWS地區”
metadata.config_info.admin_network“網絡掩碼管理員用戶”
讓我們來限制所有網絡訪問一台主機 - 1.1.1.1/32。這將需要改變access_network和admin_network密鑰。
由於配置是有自己的_id和_rev一個嵌套的文件,我們必須直接修改配置文件。要做到這一點,我們按照閱讀的代表性及輸送至更新操作的基於REST的約定:
用戶@框:〜/工作區/ C2殼$ C2配置讀取--_ ID = ceee3724a3674bc096a2a6d2dfde7209 | C2配置更新 - --access_network = 1.1.1.1 / 32 --admin_network = 1.1.1.1 / 32
2011-06-07 10:35:39643 - 信息 - 閱讀從標準輸入對象,CTRL-C突破...
2011-06-07 10:35:39661 - 信息 - => GET https://c2core.opdemand.com/config/ceee3724a3674bc096a2a6d2dfde7209
2011-06-07 10:35:40573 - 信息 - <= 200 OK,讀692個字節的應用/ JSON
2011-06-07 10:35:40574 - 信息 - (配置/讀取)在0.931527s成功
2011-06-07 10:35:40603 - 信息 - => PUT https://c2core.opdemand.com/config/ceee3724a3674bc096a2a6d2dfde7209
2011-06-07 10:35:41316 - 信息 - <= 200 OK,讀694個字節的應用/ JSON
{
&NBSP;“_ id為”:“ceee3724a3674bc096a2a6d2dfde7209”
&NBSP;“_ REV”:“2-6a1cac4a1851fead776d4184e1218028”,
&NBSP;“access_network”:“1.1.1.1/32”
&NBSP;“access_port”:“22”,
&NBSP;“admin_network”:“1.1.1.1/32”
&NBSP;“clone_”:{
&NBSP;“PARENT_ID”:“ceee3724a3674bc096a2a6d2dfde7209”,
&NBSP;“parent_impl”:{
&NBSP;“cls_”:“c2core.resolve.Config”
&NBSP;}
&NBSP;},
&NBSP;“cloud_name”:“美東1”
&NBSP;“DOCTYPE”:“配置”,
&NBSP;“image_id”:“AMI-06ad526f”,
&NBSP;“實現了一套”:{
&NBSP;“cls_”:“c2core.resolve.Config”
&NBSP;},
&NBSP;“意見”:{
&NBSP;“7bbeacb1082e4810bb1a664​​3d024496e”:[
&NBSP;
&NBSP;“7bbeacb1082e4810bb1a664​​3d024496e”
&NBSP;“配置”
&NBSP;]
&NBSP;]
&NBSP;}
}
2011-06-07 10:35:41317 - 信息 - (配置/更新)中0.730138s成功
重新讀取的平台配置,以確認父文檔包括更新,嵌套的配置:
用戶@框:〜/工作區/ C2殼$ C2平台閱讀--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e | C2漂亮| grep的配置
2011-06-07 10:37:11,131 - 信息 - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 10:37:11825 - 信息 - <= 200 OK,閱讀14852字節的應用/ JSON
2011-06-07 10:37:11977 - 信息 - (平台/讀取)在0.862029s成功
config.access_network“1.1.1.1/32”
config.image_id“AMI-06ad526f”
config.doctype“配置”
config._rev“2-6a1cac4a1851fead776d4184e1218028”
config.access_port“22”
config.cloud_name“美東1”
config.clone_.parent_id“ceee3724a3674bc096a2a6d2dfde7209”
config.clone_.parent_impl.cls_“c2core.resolve.Config”
config.admin_network“1.1.1.1/32”
config._id“ceee3724a3674bc096a2a6d2dfde7209”
config.impl.cls_“c2core.resolve.Config”
config.views.7bbeacb1082e4810bb1a664​​3d024496e.0.0“7bbeacb1082e4810bb1a664​​3d024496e”
config.views.7bbeacb1082e4810bb1a664​​3d024496e.0.1“配置”
metadata.config_info.access_port“監聽端口的服務器上”
metadata.config_info.access_network“網絡掩碼大眾用戶”
metadata.config_info.cloud_name“名稱AWS地區”
metadata.config_info.admin_network“網絡掩碼管理員用戶”
啟動平台
隨著排隊的地方我們的AWS憑據,我們的平台,我們已經準備好了。發出C2平台開始,讓業務流程開始:
用戶@框:〜/工作區/ C2殼$ C2平台啟動--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 10:42:52849 - 信息 - => POST https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e/start
2011-06-07 10:42:53816 - 信息 - <= 202接受,閱讀0字節的應用/ JSON
2011-06-07 10:42:53816 - 信息 - (平台/啟動)的0.981219s成功
遵循平台的進步,閱讀完整的平台,代表和grep所有嵌套對象的狀態:
用戶@框:〜/工作區/ C2殼$ C2平台閱讀--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e | C2漂亮| grep的狀態
2011-06-07 10:43:06530 - 信息 - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 10:43:07228 - 信息 - <= 200 OK,閱讀22227字節的應用/ JSON
2011-06-07 10:43:07451 - 信息 - (平台/讀取)在0.935643s成功
tiers.0.status_.value“建設”
tiers.0.keypair.status_.detail“密鑰對生成”
tiers.0.keypair.status_.value“建”
tiers.0.sg.status_.detail“規則成功授權”
tiers.0.sg.status_.value“建”
tiers.1.status_.value“建設”
tiers.1.server.status_.detail“等待運行,目前正在等待”
tiers.1.server.status_.value“建設”
status_.detail“開始操作觸發”
status_.value“啟動”
我們可以看到在平台級的地位正在啟動。重新發出該命令的次數,以“輪詢”狀態。 Grepping的狀態也是示範該組件目前轉換非常有用。一旦該平台完成後,狀態應該如下所示:
用戶@框:〜/工作區/ C2殼$ C2平台閱讀--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e | C2漂亮| grep的狀態
2011-06-07 10:44:21015 - 信息 - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 10:44:21736 - 信息 - <= 200 OK,閱讀27129字節的應用/ JSON
2011-06-07 10:44:21988 - 信息 - (平台/讀取)在0.990599s成功
tiers.0.status_.detail“啟動成功”
tiers.0.status_.value“跑”
tiers.0.keypair.status_.detail“密鑰對生成”
tiers.0.keypair.status_.value“跑”
tiers.0.sg.status_.detail“規則成功授權”
tiers.0.sg.status_.value“跑”
tiers.1.status_.detail“啟動成功”
tiers.1.status_.value“跑”
tiers.1.server.status_.detail“聽眾準備在22 / TCP”
tiers.1.server.status_.value“跑”
status_.detail“開始運行成功”
status_.value“跑”
注意與服務器監聽準備好22 / TCP“運行”父級狀態。我們的平台已準備就緒。
使用平台
所有平台發布有關如何使用它們的信息。大多數平台上發布的一些組合:
- 網址
- 主機名/端口組合
- 登錄
- 密碼
如果我們閱讀平台和grep的發布,我們可以看到這個平台上發表了簡單的SSH網址:
用戶@框:〜/工作區/ C2殼$ C2平台閱讀--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e | c2的漂亮| grep的發布
2011-06-07 10:51:30694 - 信息 - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 10:51:31764 - 信息 - <= 200 OK,閱讀27129字節的應用/ JSON
2011-06-07 10:51:32038 - 信息 - (平台/讀取)在1.367026s成功
tiers.1.server.publish.access_url“SSH://ubuntu@ec2-50-19-55-84.compute-1.amazonaws.com/”
metadata.publish_info.access_url“URL來訪問的平台”
一個常見的模式是平台發布:
- 管理URL
- 管理員登錄
- 管理員密碼
- 訪問URL
停止平台
一旦該平台已停止,其狀態會是這個樣子:
用戶@框:〜/工作區/ C2殼$ C2平台閱讀--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e | C2漂亮| grep的狀態
2011-06-07 10:57:51345 - 信息 - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 10:57:52128 - 信息 - <= 200 OK,閱讀27966字節的應用/ JSON
2011-06-07 10:57:52424 - 信息 - (平台/讀取)在1.093576s成功
tiers.0.status_.detail“成功停止”
tiers.0.status_.value“停止”
tiers.0.keypair.status_.detail“密鑰對生成”
tiers.0.keypair.status_.value“停止”
tiers.0.sg.status_.detail“規則成功授權”
tiers.0.sg.status_.value“停止”
tiers.1.status_.detail“成功停止”
tiers.1.status_.value“停止”
tiers.1.server.status_.detail“等待停了下來,目前已停止”
tiers.1.server.status_.value“停止”
status_.detail“停止操作成功”
status_.value“停止”
該平台仍然存在於雲,但它不再承擔昂貴的計算成本(它是,但是招致忽略的存儲成本)。你也不再承擔C2平台的費用。在這一點上,你的平台成本有效地一無所獲。
平台可以停止,並開始無極限。
摧毀平台
要真正消滅所有包含在你的平台上的雲組件,您必須發出一個C2平台,摧毀並提供目標平台的_id:
用戶@框:〜/工作區/ C2殼$ C2平台摧毀--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 11:04:10,667 - 信息 - => POST https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e/destroy
2011-06-07 11:04:11953 - 信息 - <= 202接受,閱讀0字節的應用/ JSON
2011-06-07 11:04:11953 - 信息 - (平台/破壞)的1.300462s成功
刪除平台
如果列出的平台,你會看到被破壞的平台依然存在:
用戶@框:〜/工作區/ C2殼$ C2平台列表| C2漂亮
2011-06-07 11:12:02771 - 信息 - => GET https://c2core.opdemand.com/platform
2011-06-07 11:12:03149 - 信息 - <= 200 OK,讀1577個字節的應用/ JSON
2011-06-07 11:12:03150 - 信息 - (平台/列表)中0.394324s成功
0.views.7bbeacb1082e4810bb1a664​​3d024496e.0.0“7bbeacb1082e4810bb1a664​​3d024496e”
0.time_.disconnect.date_“1307466249.487580”
0.time_.stop.date_“1307465858.607597”
0.time_.start.date_“1307465019.767619”
0.time_.build.date_“1307465019.475195”
0.time_.destroy.date_“1307466249.487347”
0.time_.connect.date_“1307466240.220381”
0.status_.detail“destroy操作成功”
0.status_.value“毀”
0.doctype“平台”
0._rev“7-38fe44c5a900894adf48f4a416c94338”
0.template.cls_“lib.platform.vanilla.natty.UbuntuNattyPlatform”
0._id“7bbeacb1082e4810bb1a664​​3d024496e”
0.state.running假
0.state.transitioning假
0.state.built假
0.impl.cls_“lib.platform.vanilla.natty.UbuntuNattyPlatform”
0.interval_.destroy 9.3936290740966797
0.interval_.stop 33.600441932678223
0.interval_.build 57.54404091835022
0.interval_.start 57.836580991744995
從時間間隔你可以看到它了:
- 58秒開始這個平台
- 33秒停止
- 9秒鐘就可以毀掉
您可以隨時重新開始摧毀平台,並再次重建的雲組件。然而,為了完成刪除平台及其嵌套的文件,你必須發出一個C2平台刪除:
用戶@框:〜/工作區/ C2殼$ C2平台刪除--_ ID = 7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 11:15:45235 - 信息 - =>刪除https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a664​​3d024496e
2011-06-07 11:15:46474 - 信息 - <= 204沒有內容,閱讀0字節的應用程序/ JSON
2011-06-07 11:15:46474 - 信息 - (平台/刪除)在1.252582s成功
為了確認,我們可以看到我們的平台名單現在是空的:
用戶@框:〜/工作區/ C2殼$ C2平台列表
2011-06-07 11:15:51890 - 信息 - => GET https://c2core.opdemand.com/platform
2011-06-07 11:15:52296 - 信息 - <= 200 OK,讀2個字節的應用/ JSON
2011-06-07 11:15:52297 - 信息 - (平台/列表)中0.423616s成功
註銷
通過發出C2的信息,我們可以看到我們的會話的狀態:
用戶@框:〜/工作區/ C2殼$ C2信息
2011-06-07 11:17:11,656 - 信息 - => GET https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11:17:12,134 - 信息 - <= 200 OK,讀4082個字節的應用/ JSON
{
&NBSP;“賬戶”:“C2-opdemand”
&NBSP;“電子郵件”:“gabriel@opdemand.com”
&NBSP;“expires_at”:“週五,2011年上午08時44分6月10日”
&NBSP;“的session_id”:“73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95”
}
2011-06-07 11:17:12,138 - 信息 - (信息)在0.497018s成功
註銷僅僅是C2登出:
用戶@框:〜/工作區/ C2殼$ C2註銷
2011-06-07 11:17:44903 - 信息 - =>刪除https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11:17:45330 - 信息 - <= 204沒有內容,閱讀0字節的應用程序/ JSON
2011-06-07 11:17:45330 - 信息 - (註銷)在0.443405s成功
用戶@框:〜/工作區/ C2殼$ C2信息
2011-06-07 11:17:49025 - 信息 - (信息)在0.000376s成功
關於C2
OpDemand的指揮與控制技術(C2)自動化的雲計算基礎架構的部署和管理。與接口一樣簡單“啟動,停止,克隆和銷毀,”C2向你的雲指令

要求

  • 在Python中

類似的軟件

V6scripts
V6scripts

20 Feb 15

posh
posh

3 Jun 15

HttpShell
HttpShell

14 Apr 15

意見 OpDemand Shell

評論沒有發現
添加評論
打開圖片!