OpDemand Shell

Screenshot Software:
OpDemand Shell
Detalii soft:
Versiune: 0.9
Incarca data: 15 Apr 15
Producător: OpDemand
Licenţă: Gratuit
Popularitate: 96

Rating: nan/5 (Total Votes: 0)

Proiectul OpDemand Shell conține interfața client de linie de comandă pentru sistemul C2. Aceste module Python sunt parte a tehnologiei de comandă și control OpDemand lui (C2).
Open Source
Proiectul C2-coajă a fost făcută open source de OpDemand.
C2 Shell Documentation
Înainte de a începe
- Veți avea nevoie de un cont C2 activ. Creeaza unul gratuit la https://c2.opdemand.com/
- Manual de asuma OSX sau Linux (Windows nu a fost testat, dar ar trebui să funcționeze)
Instalare
Instalarea folosește convenție distutils standard.
sudo python setup.py instala
Configurare
Adauga adresa ta de e-mail de conectare C2 la configurația client local.
set locală c2 --email=c2user@opdemand.com
Un get locală c2 va afișa configurația curentă.
Logarea
Lansați o conectare C2, care va utiliza adresa de e-mail configurată mai sus și îți cere o parolă.
utilizator @ spatiu: ~ / spațiu de lucru / c2-shell de login $ c2
parola:
2011-06-07 08: 44: 12,052 - INFO - => POST https://c2core.opdemand.com/session
2011-06-07 08: 44: 13,095 - INFO - GET https://c2core.opdemand.com/template
2011-06-07 09: 21: 21,879 - INFO - <= 200 OK, citind 1822 bytes de aplicare / JSON
[# Listă JSON de șabloane
& Nbsp; {
& Nbsp; # Primul șablon
& Nbsp;},
& Nbsp; {
& Nbsp; # În al doilea rând șablon
& Nbsp;}
]
2011-06-07 09: 21: 21,881 - INFO - (template / listă) succes în 0.524872s
Găsiți valoarea _id a șablonul pe care doriți să implementați, și copiați-l în clipboard-ul.
Creați un nou Platform
Selectați șablonul dorit și să emită o sarcină șablon C2 a _id șablon, ceea ce va crea o platformă proaspăt.
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă șablon $ c2 sarcină --_ id = 6c86dfc5ddfe464199021b8dcaf521a2
2011-06-07 09: 42: 36,711 - INFO - => POST https://c2core.opdemand.com/template/6c86dfc5ddfe464199021b8dcaf521a2/load
2011-06-07 09: 42: 38,606 - INFO - <= 201 Creat, citind 14,850 bytes de aplicare / JSON
{
& Nbsp; # reprezentare mult mai mare JSON a șablonului
}
2011-06-07 09: 42: 38,757 - INFO - (template / încărcare) succes în 2.061932s
Listă Platforme
Lansați o listă platformă C2 pentru a vedea platformele disponibile în contul dvs..
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă $ c2 listă platformă
2011-06-07 09: 46: 48,327 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 09: 46: 48,884 - INFO - <= 200 OK, citind 566 de bytes de aplicare / JSON
[
& Nbsp; {
& Nbsp; # Noua dvs. platformă
& Nbsp;}
]
2011-06-07 09: 46: 48,885 - INFO - (platformă / listă) succes în 0.572228s
Copiați _id de această platformă pentru a clipboard.
Citiți platforma
Operațiuni Listă arată doar reprezentări sumare de elemente dintr-o colecție. Pentru a vedea reprezentarea completă a unei platforme (una care include componentele sale imbricate), trebuie să emită o platformă c2 citit și furnizează _id:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă platformă $ c2 citit --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 16: 06,050 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 16: 06,984 - INFO - <= 200 OK, citind 14,850 bytes de aplicare / JSON
{
& Nbsp; # reprezentare completa platforma
}
2011-06-07 10: 16: 07,152 - INFO - (platformă / citire) succes în 1.117754s
Lucrul cu răspunsuri JSON
Platforma de mai sus este prea mult timp pentru a citi. Din fericire shell C2 include un prettifier integrat JSON care a trimis ieșire JSON de la orice comanda shell C2 mult mai ușor de citit.
Pur și simplu țeavă orice comanda C2 la C2 destul de:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă $ șablon c2 citit --_ id = 6c86dfc5ddfe464199021b8dcaf521a2 | c2 destul de
2011-06-07 09: 32: 00,646 - INFO - => GET https://c2core.opdemand.com/template/6c86dfc5ddfe464199021b8dcaf521a2
2011-06-07 09: 32: 01,378 - INFO - <= 200 OK, citind 12,022 bytes de aplicare / JSON
2011-06-07 09: 32: 01,535 - INFO - (template / citire) succes în 0.904613s
tiers.0.name "Tier Network"
tiers.0.doctype "nivel"
tiers.0._rev "1-5a37d211b276deee536cd72a016af8fa"
... Restul prettified JSON
Toate comenzile C2 citit de la intrarea standard și scrie la ieșirea standard. Acest lucru înseamnă JSON brut și JSON prettified pot fi conduse la orice altă comandă care utilizează țevi UNIX stil. (De exemplu, grep).
Configurarea platforma
În primul rând citit platforma și grep pentru informațiile implicite de configurare:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă platformă $ c2 citit --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 destul de | grep config
2011-06-07 10: 26: 29,828 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 26: 30,486 - INFO - <= 200 OK, citind 14,850 bytes de aplicare / JSON
2011-06-07 10: 26: 30,635 - INFO - (platformă / citire) succes în 0.821403s
config.access_network "0.0.0.0/0"
config.image_id "ami-06ad526f"
config.doctype "config"
config._rev "1-38d720a0975e4d377ccbfd3cb7864185"
config.access_port "22"
config.cloud_name "ne-est-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 "Port ascultare pe server"
metadata.config_info.access_network "masca de rețea pentru utilizatorii publici"
metadata.config_info.cloud_name "Numele de regiune AWS"
metadata.config_info.admin_network "masca de rețea pentru utilizatorii de admin"
Să restricționa accesul la toate rețea la o gazdă - 1.1.1.1/32. Acest lucru va necesita schimbarea cheile access_network și admin_network.
Deoarece config este un document imbricate cu propria _id și _rev, trebuie să modifice documentul de configurare direct. Pentru a face acest lucru, vom urmări convenția RESTful a citi reprezentarea și conducte-l la o operație modificare:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă $ c2 config citit --_ id = ceee3724a3674bc096a2a6d2dfde7209 | modificare c2 config - --access_network = 1.1.1.1 / 32 --admin_network = 1.1.1.1 / 32
2011-06-07 10: 35: 39,643 - INFO - lectură obiect de la stdin, ctrl-c pentru a sparge ...
2011-06-07 10: 35: 39,661 - INFO - => GET https://c2core.opdemand.com/config/ceee3724a3674bc096a2a6d2dfde7209
2011-06-07 10: 35: 40,573 - INFO - <= 200 OK, citind 692 bytes de aplicare / JSON
2011-06-07 10: 35: 40,574 - INFO - (config / citire) succes în 0.931527s
2011-06-07 10: 35: 40,603 - INFO - => PUT https://c2core.opdemand.com/config/ceee3724a3674bc096a2a6d2dfde7209
2011-06-07 10: 35: 41,316 - INFO - <= 200 OK, citind 694 de bytes de aplicare / 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": "ne-est-1",
& Nbsp; "DOCTYPE": "config",
& Nbsp; "image_id": "ami-06ad526f",
& Nbsp; "impl": {
& Nbsp; "cls_": "c2core.resolve.Config"
& Nbsp;},
& nbsp; "opinii": {
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e": [
& Nbsp; [
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e",
& Nbsp; "config"
& Nbsp;]
& Nbsp;]
& Nbsp;}
}
2011-06-07 10: 35: 41,317 - INFO - (config / update) succes în 0.730138s
Re-citit configurația platformei pentru a confirma documentul mamă include actualizat, configurația imbricate:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă platformă $ c2 citit --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 destul de | grep config
2011-06-07 10: 37: 11,131 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 37: 11,825 - INFO - <= 200 OK, citind 14,852 bytes de aplicare / JSON
2011-06-07 10: 37: 11,977 - INFO - (platformă / citire) succes în 0.862029s
config.access_network "1.1.1.1/32"
config.image_id "ami-06ad526f"
config.doctype "config"
config._rev "2-6a1cac4a1851fead776d4184e1218028"
config.access_port "22"
config.cloud_name "ne-est-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 "Port ascultare pe server"
metadata.config_info.access_network "masca de rețea pentru utilizatorii publici"
metadata.config_info.cloud_name "Numele de regiune AWS"
metadata.config_info.admin_network "masca de rețea pentru utilizatorii de admin"
Începeți platforma
Cu prerogativelor noastre AWS în loc, și platforma noastră din coada de așteptare până suntem gata să mergem. Lansați o platformă început c2 și lăsați orchestrația începe:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă $ platformă c2 începe --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 42: 52,849 - INFO - => POST https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e/start
2011-06-07 10: 42: 53,816 - INFO - <= 202 Acceptat, citind 0 bytes de aplicare / JSON
2011-06-07 10: 42: 53,816 - INFO - (platformă / start) succes în 0.981219s
Pentru a urmări progresul platformei, citiți reprezentarea platformă complet și grep pentru statutul de toate obiectele imbricate:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă platformă $ c2 citit --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 destul de | Starea grep
2011-06-07 10: 43: 06,530 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 43: 07,228 - INFO - <= 200 OK, citind 22,227 bytes de aplicare / JSON
2011-06-07 10: 43: 07,451 - INFO - (platformă / citire) succes în 0.935643s
tiers.0.status_.value "clădire"
tiers.0.keypair.status_.detail "pereche de chei creat"
tiers.0.keypair.status_.value "construit"
tiers.0.sg.status_.detail "Normele autorizat succes"
tiers.0.sg.status_.value "construit"
tiers.1.status_.value "clădire"
tiers.1.server.status_.detail "de așteptare pentru funcționare, în prezent în curs"
tiers.1.server.status_.value "clădire"
status_.detail "începe operațiune declanșată"
status_.value "pornire"
Putem vedea starea la nivel de platformă începe. Re-aceasta problema comandă un număr de ori pentru a statutului "sondaj". Grepping pentru stat este, de asemenea, util pentru demonstrarea care componentele sunt în prezent tranzitia. Odată ce platforma se face, statutul ar trebui să arate, după cum urmează:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă platformă $ c2 citit --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 destul de | Starea grep
2011-06-07 10: 44: 21,015 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 44: 21,736 - INFO - <= 200 OK, citind 27,129 bytes de aplicare / JSON
2011-06-07 10: 44: 21,988 - INFO - (platformă / citire) succes în 0.990599s
tiers.0.status_.detail "a început cu succes"
tiers.0.status_.value "de funcționare"
tiers.0.keypair.status_.detail "pereche de chei creat"
tiers.0.keypair.status_.value "de funcționare"
tiers.0.sg.status_.detail "Normele autorizat succes"
tiers.0.sg.status_.value "de funcționare"
tiers.1.status_.detail "a început cu succes"
tiers.1.status_.value "de funcționare"
tiers.1.server.status_.detail "ascultător gata la 22 / tcp"
tiers.1.server.status_.value "de funcționare"
status_.detail "începe operațiune de succes"
status_.value "de funcționare"
Notă un status nivel-mamă a "de funcționare" cu ascultatorul serverul gata pe 22 / TCP. Platforma noastră este gata.
Folosind platforma
Toate platformele publică informații despre modul în care acestea sunt utilizate. Cele mai multe platforme publica o combinație de:
- URL-uri
- Nume gazdă / combinații Port
- Conectări
- Parole
Dacă citim platforma și grep pentru a publica putem vedea această platformă a publicat un simplu url SSH:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă platformă $ c2 citit --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 destul de | grep publica
2011-06-07 10: 51: 30,694 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 51: 31,764 - INFO - <= 200 OK, citind 27,129 bytes de aplicare / JSON
2011-06-07 10: 51: 32,038 - INFO - (platformă / citire) succes în 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-ul pentru accesarea platformei"
Un model comun este pentru platformele de a publica:
- Admin URL
- Admin Autentificare
- Admin Password
- URL-ul de acces
Oprirea platforma
Odată ce platforma sa oprit, statutul său va arata ceva de genul:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă platformă $ c2 citit --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 destul de | Starea grep
2011-06-07 10: 57: 51,345 - INFO - => GET https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 10: 57: 52,128 - INFO - <= 200 OK, citind 27,966 bytes de aplicare / JSON
2011-06-07 10: 57: 52,424 - INFO - (platformă / citire) succes în 1.093576s
tiers.0.status_.detail "oprit cu succes"
tiers.0.status_.value "oprit"
tiers.0.keypair.status_.detail "pereche de chei creat"
tiers.0.keypair.status_.value "oprit"
tiers.0.sg.status_.detail "Normele autorizat succes"
tiers.0.sg.status_.value "oprit"
tiers.1.status_.detail "oprit cu succes"
tiers.1.status_.value "oprit"
tiers.1.server.status_.detail "de așteptare pentru oprit, sa oprit în prezent"
tiers.1.server.status_.value "oprit"
status_.detail "operațiune de oprire de succes"
status_.value "oprit"
Platforma încă mai există în nor, dar nu mai este a suporta costuri de calcul scumpe (cum este, cu toate acestea suporta costuri de depozitare neglijabile). Te asemenea, nu mai suporta taxele de platforma C2. În acest moment, platformă costa în mod eficient nimic.
Platforme poate fi oprit și a început fără limită.
Distruge platforma
Pentru a distruge de fapt toate componentele nor incluse în platforma dumneavoastră, trebuie să emită o platformă c2 distruge și furnizează _id a platformei țintă:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă platformă $ c2 distruge --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 04: 10,667 - INFO - => POST https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e/destroy
2011-06-07 11: 04: 11,953 - INFO - <= 202 Acceptat, citind 0 bytes de aplicare / JSON
2011-06-07 11: 04: 11,953 - INFO - (platformă / distruge) succes în 1.300462s
Ștergeți platforma
Dacă lista platforme veți vedea că încă mai există platforma distrus:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă listă retea $ c2 | c2 destul de
2011-06-07 11: 12: 02,771 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 12: 03,149 - INFO - <= 200 OK, citind 1577 bytes de aplicare / JSON
2011-06-07 11: 12: 03,150 - INFO - (platformă / listă) succes în 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 "distruge operațiune de succes"
0.status_.value "distrus"
0.doctype "platformă"
0._rev "7-38fe44c5a900894adf48f4a416c94338"
0.template.cls_ "lib.platform.vanilla.natty.UbuntuNattyPlatform"
0._id "7bbeacb1082e4810bb1a6643d024496e"
0.state.running fals
0.state.transitioning fals
0.state.built fals
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
De la intervalul puteti vedea luat:
- 58 secunde pentru a porni această platformă
- 33 secunde să-l oprească
- 9 secunde să-l distrugă
Puteți oricând re-start o platformă distrus și l-au reconstrui componente nor din nou. Cu toate acestea pentru a finaliza șterge platforma și documentele imbricate, trebuie să emită o platformă C2 șterge:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă platformă $ c2 șterge --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 45,235 - INFO - => DELETE https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 46,474 - INFO - <= 204 nr de conținut, citind 0 bytes de aplicare / JSON
2011-06-07 11: 15: 46,474 - INFO - (platformă / șterge) succes în 1.252582s
Pentru a confirma, putem vedea lista noastră platformă este acum gol:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă $ c2 listă platformă
2011-06-07 11: 15: 51,890 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 15: 52,296 - INFO - <= 200 OK, citind 2 bytes de aplicare / JSON
2011-06-07 11: 15: 52,297 - INFO - (platformă / listă) succes în 0.423616s
Deconectarea
Prin emiterea unui info c2 putem vedea starea sesiunii noastre:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă info $ c2
2011-06-07 11: 17: 11,656 - INFO - => GET https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 12,134 - INFO - <= 200 OK, citind 4082 bytes de aplicare / JSON
{
& Nbsp; "cont": "C2-opdemand",
& Nbsp; "e-mail": "gabriel@opdemand.com",
& Nbsp; "expires_at": "Vineri zece-06-2011 08:44",
& Nbsp; "session_id": "73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95"
}
2011-06-07 11: 17: 12,138 - INFO - (info) succes în 0.497018s
Deconectarea este Logout simplu c2:
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă $ c2 Logout
2011-06-07 11: 17: 44,903 - INFO - => DELETE https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 45,330 - INFO - <= 204 nr de conținut, citind 0 bytes de aplicare / JSON
2011-06-07 11: 17: 45,330 - INFO - (logout) succes în 0.443405s
utilizator @ spatiu: ~ / spațiu de lucru / c2-coajă info $ c2
2011-06-07 11: 17: 49,025 - INFO - (info) succes în 0.000376s
Despre C2
Comandă și control Tehnologie OpDemand lui (C2) automatizează implementarea și administrarea infrastructurii cloud computing. Cu o interfață la fel de simplu ca "incepe, opri, clona și distruge," C2 vă oferă comanda de cloud-ul

Cerințe :.

  • Python

Software similare

Playitagainsam
Playitagainsam

20 Feb 15

ftp4j
ftp4j

20 Feb 15

neteK
neteK

3 Jun 15

aws-trade-in
aws-trade-in

20 Feb 15

Comentarii la OpDemand Shell

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!