OpDemand Shell

Скріншот програми:
OpDemand Shell
Дані програми:
Версія: 0.9
Дата завантаження: 15 Apr 15
Розробник: OpDemand
Ліцензія: Безкоштовно
Популярність: 10

Rating: nan/5 (Total Votes: 0)

Проект OpDemand Shell містить інтерфейс клієнта командного рядка до системи С2. Ці Python модулі є частиною технології OpDemand в командному & Control (С2).
Open Source
Проект c2-оболонка зроблена з відкритим вихідним кодом на OpDemand.
C2 Shell Документація
Перш ніж почати
- Ви будете потребувати активної облікового запису С2. Створіть його безкоштовно на https://c2.opdemand.com/
- Інструкція припустити OSX або Linux (Windows не було перевірено, але повинно працювати)
Установка
Установка використовує стандартні Distutils конвенції.
Судо пітон setup.py встановити
Конфігурація
Додати C2 входу адресу електронної пошти в локальній конфігурації клієнта.
c2 локальне безліч --email=c2user@opdemand.com
C2 місцевого Get покаже поточну конфігурацію.
Вхід в систему
Випуск С2 логін, який буде використовувати адресу електронної пошти, налаштований вище і запросить у вас пароль.
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 Ввійти
пароль:
2011-06-07 08: 44: 12052 - INFO - => POST https://c2core.opdemand.com/session
2011-06-07 08: 44: 13095 - INFO - GET https://c2core.opdemand.com/template
2011-06-07 09: 21: 21879 - INFO - <= 200 OK, читання 1822 байт додатки / JSON
[# JSON список шаблонів
І NBSP; {
І NBSP; # перший шаблон
І NBSP;},
І NBSP; {
І NBSP; # -других шаблон
І NBSP;}
]
2011-06-07 09: 21: 21881 - INFO - (шаблон / список) успіх в 0.524872s
Знайдіть значення _id шаблону ви хочете, щоб розгорнути, і скопіювати його в буфер обміну.
Створити нову платформу
Виберіть потрібний шаблон і видає шаблону c2 навантаження шаблону _id, який буде створити новий платформу.
користувач @ коробка: ~ / робочий простір / c2-оболонки шаблону $ c2 навантаження --_ ID = 6c86dfc5ddfe464199021b8dcaf521a2
2011-06-07 09: 42: 36711 - INFO - => POST https://c2core.opdemand.com/template/6c86dfc5ddfe464199021b8dcaf521a2/load
2011-06-07 09: 42: 38606 - INFO - <= 201 Created, читання 14850 байт додатки / JSON
{
І NBSP; # набагато довше, подання JSON шаблону
}
2011-06-07 09: 42: 38757 - INFO - (шаблон / навантаження) успіх в 2.061932s
Список Платформи
Видати список c2 платформи, щоб побачити доступні платформи на Вашому.
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 список платформа
2011-06-07 09: 46: 48327 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 09: 46: 48884 - INFO - <= 200 OK, читання 566 байт додатки / JSON
[
І NBSP; {
І NBSP; # Ваш нова платформа
І NBSP;}
]
2011-06-07 09: 46: 48885 - INFO - (платформа / список) успіх в 0.572228s
Скопіюйте _id цієї платформи в буфер обміну.
Читайте платформу
Список операцій показують тільки короткі представлення елементів в колекції. Для перегляду повної уявлення платформи (той, який включає вкладені компоненти), ви повинні видати c2 платформу читати і забезпечити _id:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 платформа читати --_ ID = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 16: 06050 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 16: 06984 - INFO - <= 200 OK, читання 14850 байт додатки / JSON
{
І NBSP; # повне уявлення платформи
}
2011-06-07 10: 16: 07152 - INFO - (платформа / читання) успіх в 1.117754s
Робота з відповідями JSON
Вище платформа занадто довго, щоб читати. На щастя оболонки C2 включає в себе інтегрований JSON prettifier, що робить висновок JSON з будь-якої команди C2 оболонки набагато легше читати.
Просто труби будь-яка команда c2 С2 досить:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ Шаблон c2 читати --_ ID = 6c86dfc5ddfe464199021b8dcaf521a2 | c2 досить
2011-06-07 09: 32: 00646 - INFO - => GET https://c2core.opdemand.com/template/6c86dfc5ddfe464199021b8dcaf521a2
2011-06-07 09: 32: 01378 - INFO - <= 200 OK, читання 12022 байт додатки / JSON
2011-06-07 09: 32: 01535 - INFO - (шаблон / читання) успіх в 0.904613s
tiers.0.name "Мережа рівня"
tiers.0.doctype "рівня"
tiers.0._rev "1-5a37d211b276deee536cd72a016af8fa"
... Інша частина prettified JSON
Всі команди C2 читати зі стандартного вводу і записує в стандартний висновок. Це означає, сировини JSON і prettified JSON може бути переданий будь-який інший команди, яка використовує UNIX-стилі труби. (Наприклад, Grep).
Налаштування платформи
Спочатку прочитайте платформу і Grep для інформації про конфігурацію за замовчуванням ,:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 платформа читати --_ ID = 7bbeacb1082e4810bb1a6643d024496e | c2 досить | Grep конфігурації
2011-06-07 10: 26: 29828 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 26: 30486 - INFO - <= 200 OK, читання 14850 байт додатки / JSON
2011-06-07 10: 26: 30635 - INFO - (платформа / читання) успіх в 0.821403s
config.access_network "0.0.0.0/0"
config.image_id "Амі-06ad526f"
config.doctype "Config"
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.7bbeacb1082e4810bb1a6643d024496e.0.0 "7bbeacb1082e4810bb1a6643d024496e"
config.views.7bbeacb1082e4810bb1a6643d024496e.0.1 "Config"
metadata.config_info.access_port "Порт прослуховування на сервері"
metadata.config_info.access_network "Маска мережі для рядових користувачів"
metadata.config_info.cloud_name "Назва AWS області"
metadata.config_info.admin_network "Маска мережі для користувачів Admin"
Давайте обмежити весь мережевий доступ до одного хост - 1.1.1.1/32. Це зажадає зміни access_network і admin_network ключі.
Так налаштувань є вкладеним документом з власним _id і _rev, ми повинні змінити документ конфігурації безпосередньо. Щоб зробити це, ми слідуємо RESTful конвенції читання уявлення і трубопроводів її операції оновлення:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 конфігурації читати --_ ID = ceee3724a3674bc096a2a6d2dfde7209 | оновлення c2 Config - --access_network = 1.1.1.1 / 32 --admin_network = 1.1.1.1 / 32
2011-06-07 10: 35: 39643 - INFO - читання об'єкт зі стандартного вводу, Ctrl-C, щоб зламати ...
2011-06-07 10: 35: 39,661 - INFO - => GET https://c2core.opdemand.com/config/ceee3724a3674bc096a2a6d2dfde7209
2011-06-07 10: 35: 40573 - INFO - <= 200 OK, читання 692 байт додатки / JSON
2011-06-07 10: 35: 40574 - INFO - (Config / читання) успіх в 0.931527s
2011-06-07 10: 35: 40603 - INFO - => PUT https://c2core.opdemand.com/config/ceee3724a3674bc096a2a6d2dfde7209
2011-06-07 10: 35: 41316 - INFO - <= 200 OK, читання 694 байт додатки / JSON
{
І NBSP; "_ ID": "ceee3724a3674bc096a2a6d2dfde7209",
І NBSP; "_ оборотів": "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": "Config",
І NBSP; "image_id": "АМІ-06ad526f",
І NBSP; "осущ": {
І NBSP; "cls_": "c2core.resolve.Config"
І NBSP;},
і NBSP; "думки": {
І NBSP; "7bbeacb1082e4810bb1a6643d024496e": [
І NBSP; [
І NBSP; "7bbeacb1082e4810bb1a6643d024496e",
І NBSP; "Config"
І NBSP;]
І NBSP;]
І NBSP;}
}
2011-06-07 10: 35: 41317 - INFO - (Config / оновлення) успіх в 0.730138s
Перечитайте конфігурації платформи, щоб підтвердити батьківський документ включає в себе оновлений, вкладений конфігурацію:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 платформа читати --_ ID = 7bbeacb1082e4810bb1a6643d024496e | c2 досить | Grep конфігурації
2011-06-07 10: 37: 11131 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 37: 11825 - INFO - <= 200 OK, читання 14852 байт додатки / JSON
2011-06-07 10: 37: 11977 - INFO - (платформа / читання) успіх в 0.862029s
config.access_network "1.1.1.1/32"
config.image_id "Амі-06ad526f"
config.doctype "Config"
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.7bbeacb1082e4810bb1a6643d024496e.0.0 "7bbeacb1082e4810bb1a6643d024496e"
config.views.7bbeacb1082e4810bb1a6643d024496e.0.1 "Config"
metadata.config_info.access_port "Порт прослуховування на сервері"
metadata.config_info.access_network "Маска мережі для рядових користувачів"
metadata.config_info.cloud_name "Назва AWS області"
metadata.config_info.admin_network "Маска мережі для користувачів Admin"
Почніть платформу
З нашими повноважень АМС на місці, і нашій платформі шикувалися в черги, ми готові піти. Випуск початок c2 платформи і нехай оркестровка почати:
користувач @ коробка: почати ~ / робочий простір / c2-оболонки $ c2 платформа --_ ID = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 42: 52849 - INFO - => POST https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e/start
2011-06-07 10: 42: 53816 - INFO - <= 202 Прийнято, читання 0 байт додатки / JSON
2011-06-07 10: 42: 53816 - INFO - (платформа / запуску) успіх в 0.981219s
Щоб слідувати прогрес платформи, прочитайте повне уявлення платформи і вичленувати інформацію про стан всіх вкладених об'єктів:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 платформа читати --_ ID = 7bbeacb1082e4810bb1a6643d024496e | c2 досить | Статус Grep
2011-06-07 10: 43: 06530 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 43: 07228 - INFO - <= 200 OK, читання 22227 байт додатки / JSON
2011-06-07 10: 43: 07451 - INFO - (платформа / читання) успіх в 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 "починаючи"
Ми бачимо, статус рівні платформи починається. Перевидання цієї команди кілька разів, щоб "опитування" STATUS. Змісту для держави є також корисний для демонстрації, які компоненти в даний час знаходяться на етапі переходу. Після того, як платформа буде зроблено, статус повинен виглядати наступним чином:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 платформа читати --_ ID = 7bbeacb1082e4810bb1a6643d024496e | c2 досить | Статус Grep
2011-06-07 10: 44: 21015 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 44: 21736 - INFO - <= 200 OK, читання 27129 байт додатки / JSON
2011-06-07 10: 44: 21988 - INFO - (платформа / читання) успіх в 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. Наша платформа готова.
Використання платформи
Всі платформи публікувати інформацію про те, як вони використовуються. Більшість платформ публікувати деяку комбінацію:
- URL-адреси
- Ім'я хоста / комбінації портів
- Відвідування
- Паролі
Якщо ми читаємо платформу і вичленувати інформацію про публікації ми можемо побачити це платформа опублікував простий SSH URL:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 платформа читати --_ ID = 7bbeacb1082e4810bb1a6643d024496e | c2 досить | Grep публікувати
2011-06-07 10: 51: 30694 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 51: 31764 - INFO - <= 200 OK, читання 27129 байт додатки / JSON
2011-06-07 10: 51: 32038 - INFO - (платформа / читання) успіх в 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 = 7bbeacb1082e4810bb1a6643d024496e | c2 досить | Статус Grep
2011-06-07 10: 57: 51345 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 57: 52128 - INFO - <= 200 OK, читання 27966 байт додатки / JSON
2011-06-07 10: 57: 52424 - INFO - (платформа / читання) успіх в 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 = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 04: 10,667 - INFO - => POST https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e/destroy
2011-06-07 11: 04: 11953 - INFO - <= 202 Прийнято, читання 0 байт додатки / JSON
2011-06-07 11: 04: 11953 - INFO - (платформа / знищити) успіх в 1.300462s
Видалити платформи
Якщо вам список платформ ви побачите, що знищили платформа все ще існує:
користувач @ коробка: ~ / робочий простір / c2-оболонки список $ c2 платформа | c2 досить
2011-06-07 11: 12: 02771 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 12: 03149 - INFO - <= 200 OK, читання 1577 байт додатки / JSON
2011-06-07 11: 12: 03150 - INFO - (платформа / список) успіх в 0.394324s
0.views.7bbeacb1082e4810bb1a6643d024496e.0.0 "7bbeacb1082e4810bb1a6643d024496e"
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 "знищити операція виконана успішно"
0.status_.value "знищили"
0.doctype "Платформа"
0._rev "7-38fe44c5a900894adf48f4a416c94338"
0.template.cls_ "lib.platform.vanilla.natty.UbuntuNattyPlatform"
0._id "7bbeacb1082e4810bb1a6643d024496e"
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 = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 45235 - INFO - => Видалити https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 46474 - INFO - <= 204 No Content, читання 0 байт додатки / JSON
2011-06-07 11: 15: 46474 - INFO - (платформа / видалення) успіх в 1.252582s
Щоб підтвердити, ми бачимо, наш список платформа в даний момент порожній:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 список платформа
2011-06-07 11: 15: 51890 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 15: 52296 - INFO - <= 200 OK, читання 2 байти застосування / JSON
2011-06-07 11: 15: 52297 - INFO - (платформа / список) успіх в 0.423616s
Вихід з
Видаючи інформацію c2 ми можемо бачити стан нашої сесії:
користувач @ коробка: ~ / робочий простір / c2-оболонки Інформація $ c2
2011-06-07 11: 17: 11656 - INFO - => GET https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 12134 - INFO - <= 200 OK, читання 4082 байт додатки / JSON
{
І NBSP; "рахунок": "c2-opdemand",
І NBSP; "Електронна пошта": "gabriel@opdemand.com",
І NBSP; "expires_at": "П'ятниці, 10 червня 2011 8:44 ранку",
І NBSP; "session_id": "73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95"
}
2011-06-07 11: 17: 12138 - INFO - (дані) Успіх в 0.497018s
Вихід зводитися до простого c2 вихід:
користувач @ коробка: ~ / робочий простір / c2-оболонки $ c2 вихід
2011-06-07 11: 17: 44903 - INFO - => Видалити https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 45330 - INFO - <= 204 No Content, читання 0 байт додатки / JSON
2011-06-07 11: 17: 45330 - INFO - (Вихід) успіх в 0.443405s
користувач @ коробка: ~ / робочий простір / c2-оболонки Інформація $ c2
2011-06-07 11: 17: 49025 - INFO - (дані) Успіх в 0.000376s
Про С2
Команда & Control Technology OpDemand в (C2) автоматизує розгортання і керування інфраструктури хмарних обчислень. З інтерфейсом так просто, як "запуск, зупинка, клон і знищити", C2 дає вам команду вашого хмари

Вимоги :.

  • Python

Схожі програми

ftpterm
ftpterm

11 May 15

NovaFTP
NovaFTP

20 Feb 15

FTP SyncAgent
FTP SyncAgent

3 Jun 15

KVsftpdManager
KVsftpdManager

3 Jun 15

OpDemand Shell

Коментар не знайдено
додати коментар
Включіть картинки!
Пошук за категоріями