OpDemand Shell

Skjermbilde programvare:
OpDemand Shell
Prog.varedetaljer:
Versjon: 0.9
Last opp dato: 15 Apr 15
Utvikler: OpDemand
Lisens: Gratis
Popularitet: 96

Rating: nan/5 (Total Votes: 0)

OpDemand Shell-prosjektet inneholder kommandolinjeklienten grensesnitt til C2-systemet. Disse python-moduler er en del av OpDemand kommando & Control-teknologi (K2).
Open Source
C2-shell-prosjektet har blitt gjort open source av OpDemand.
C2 Shell Dokumentasjon
Før du begynner
- Du trenger en aktiv C2 konto. Lag en gratis på https://c2.opdemand.com/
- Instruksjoner anta OSX eller Linux (Windows er ikke testet, men skal fungere)
Installasjon
Installasjon bruker standard distutils konvensjonen.
sudo python setup.py installere
Konfigurasjon
Legg inn C2 innlogging e-postadresse til den lokale klientkonfigurasjonen.
c2 lokal sett --email=c2user@opdemand.com
En c2 lokal get vil vise gjeldende konfigurasjon.
Logger inn
Utstede en c2 innlogging, som vil bruke e-postadressen konfigurert ovenfor og ber deg om et passord.
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 innlogging
passord:
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, lesing 1822 bytes application / json
[# JSON listen over maler
& Nbsp; {
& Nbsp; # Første mal
& Nbsp;}
& Nbsp; {
& Nbsp; # Second mal
& Nbsp;}
]
2011-06-07 09: 21: 21 881 - INFO - (mal / list) suksess i 0.524872s
Finn _id verdi av malen du ønsker å distribuere, og kopiere den til utklippstavlen.
Skape en ny plattform
Velg ønsket mal og utstede en c2 mal belastning av malen _id, noe som vil skape en frisk plattform.
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 mal belastning --_ 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 Laget, lesing 14850 bytes application / json
{
& Nbsp; # Mye lengre JSON representasjon av malen
}
2011-06-07 09: 42: 38 757 - INFO - (mal / load) suksess i 2.061932s
Liste Plattformer
Utstede en c2 plattform listen for å se de tilgjengelige plattformer i kontoen din.
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform liste
2011-06-07 09: 46: 48 327 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 09: 46: 48 884 - INFO - <= 200 OK, lesing 566 bytes application / json
[
& Nbsp; {
& Nbsp; # Din nye plattformen
& Nbsp;}
]
2011-06-07 09: 46: 48 885 - INFO - (plattform / list) suksess i 0.572228s
Kopier _id av denne plattformen til utklippstavlen.
Les plattformen
Bare listeoperasjoner viser sammendrag representasjoner av objekter i en samling. For å se full representasjon av en plattform (en som inkluderer sine nestede komponenter) du må utstede en c2 plattform lese og gi _id:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform lese --_ 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, lesing 14850 bytes application / json
{
& Nbsp; # Full plattform representasjon
}
2011-06-07 10: 16: 07 152 - INFO - (plattform / lese) suksess i 1.117754s
Arbeide med JSON svar
Den ovenfor plattformen er for lang til å lese. Heldigvis C2 skallet inkluderer en integrert JSON prettifier som gjør JSON output fra C2 skallkommando mye lettere å lese.
Bare rør noen c2-kommandoen til C2 pen:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 mal lese --_ id = 6c86dfc5ddfe464199021b8dcaf521a2 | C2 pen
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, lesing 12022 bytes application / json
2011-06-07 09: 32: 01 535 - INFO - (mal / lese) suksess i 0.904613s
tiers.0.name "Network Tier"
tiers.0.doctype "tier"
tiers.0._rev "1-5a37d211b276deee536cd72a016af8fa"
... Resten av prettified JSON
Alle C2 kommandoer lese fra standard input og skrive til standard ut. Dette betyr rå JSON og prettified JSON kan føres til en annen kommando som bruker UNIX-stil rør. (F.eks grep).
Konfigurere plattformen
Les først plattformen og grep for standard config informasjon:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform lese --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pen | 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, lesing 14850 bytes application / json
2011-06-07 10: 26: 30 635 - INFO - (plattform / lese) suksess i 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 "oss-øst-en"
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 lytter på serveren"
metadata.config_info.access_network "Network maske for offentlige brukere"
metadata.config_info.cloud_name "Navn på AWS regionen"
metadata.config_info.admin_network "Network maske for admin-brukere"
La oss begrense all nettverkstilgang til en vert - 1.1.1.1/32. Dette vil kreve endring av access_network og admin_network nøkler.
Siden config er en nestet dokument med sin egen _id og _rev, må vi endre config dokumentet direkte. For å gjøre dette, vi følger RESTful konvensjonen av å lese representasjon og rør det til en oppdatering operasjon:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 config lese --_ id = ceee3724a3674bc096a2a6d2dfde7209 | c2 config oppdatering - --access_network = 1.1.1.1 / 32 --admin_network = 1.1.1.1 / 32
2011-06-07 10: 35: 39 643 - INFO - lesing objekt fra stdin, til ctrl-c bryte ...
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, lesing 692 bytes application / json
2011-06-07 10: 35: 40 574 - INFO - (config / lese) suksess i 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, lesing 694 bytes application / 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": "oss-øst-1",
& Nbsp; "DOCTYPE": "config",
& Nbsp; "image_id": "ami-06ad526f",
& Nbsp; "impl": {
& Nbsp; "cls_": "c2core.resolve.Config"
& Nbsp;}
& nbsp; "views": {
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e": [
& Nbsp; [
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e",
& Nbsp; "config"
& Nbsp;]
& Nbsp;]
& Nbsp;}
}
2011-06-07 10: 35: 41 317 - INFO - (config / oppdatering) suksess i 0.730138s
Re-lese plattformen konfigurasjon for å bekrefte det overordnede dokumentet inneholder den oppdaterte, nestet konfigurasjon:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform lese --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pen | 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, lesing 14852 bytes application / json
2011-06-07 10: 37: 11,977 - INFO - (plattform / lese) suksess i 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 "oss-øst-en"
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 lytter på serveren"
metadata.config_info.access_network "Network maske for offentlige brukere"
metadata.config_info.cloud_name "Navn på AWS regionen"
metadata.config_info.admin_network "Network maske for admin-brukere"
Start plattform
Med våre AWS legitimasjon på plass, og vår plattform kø er vi klare til å gå. Utstede en c2 plattform start og la orkestre begynner:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform starte --_ 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 Akseptert, lesing 0 bytes application / json
2011-06-07 10: 42: 53 816 - INFO - (plattform / start) suksess i 0.981219s
Å følge plattformens fremgang, les hele plattformen representasjon og grep for statusen til alle nestet objekter:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform lese --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pen | grep status
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, lesing 22227 bytes application / json
2011-06-07 10: 43: 07 451 - INFO - (plattform / lese) suksess i 0.935643s
tiers.0.status_.value "bygge"
tiers.0.keypair.status_.detail "nøkkelpar skapt"
tiers.0.keypair.status_.value "bygget"
tiers.0.sg.status_.detail "regler autorisert vellykket"
tiers.0.sg.status_.value "bygget"
tiers.1.status_.value "bygge"
tiers.1.server.status_.detail "venter på å kjøre, for tiden i påvente av"
tiers.1.server.status_.value "bygge"
status_.detail "start drift utløst"
status_.value "start"
Vi kan se plattform-nivå status starter. Re-issue denne kommandoen flere ganger for å "meningsmåling" status. Grepping for staten er også nyttig for å demonstrere hvilke komponenter som for tiden overgangen. Når plattformen er ferdig, bør status se ut som følger:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform lese --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pen | grep status
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, lesing 27129 bytes application / json
2011-06-07 10: 44: 21 988 - INFO - (plattform / lese) suksess i 0.990599s
tiers.0.status_.detail "startet vellykket"
tiers.0.status_.value "kjører"
tiers.0.keypair.status_.detail "nøkkelpar skapt"
tiers.0.keypair.status_.value "kjører"
tiers.0.sg.status_.detail "regler autorisert vellykket"
tiers.0.sg.status_.value "kjører"
tiers.1.status_.detail "startet vellykket"
tiers.1.status_.value "kjører"
tiers.1.server.status_.detail "lytteren klar ved 22 / tcp"
tiers.1.server.status_.value "kjører"
status_.detail "start operasjon vellykket"
status_.value "kjører"
Oppmerksom på et foreldre-nivå status som "kjører" med serveren lytteren klar på 22 / tcp. Vår plattform er klar.
Bruke plattformen
Alle plattformer publisere informasjon om hvordan de brukes. De fleste plattformer publisere en kombinasjon av:
- URLer
- Vertsnavn / Port kombinasjoner
- pålogginger
- Passord
Hvis vi leser plattformen og grep for publiserer vi kan se denne plattformen publisert en enkel SSH url:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform lese --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pen | grep publisere
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, lesing 27129 bytes application / json
2011-06-07 10: 51: 32 038 - INFO - (plattform / lese) suksess i 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 for tilgang til plattformen"
En vanlig mønster er for plattformer å publisere:
- Admin URL
- Admin Logg inn
- Admin Password
- Tilgang URL
Stoppe plattformen
Når plattformen har stoppet, vil dens status se omtrent slik ut:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform lese --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 pen | grep status
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, lesing 27966 bytes application / json
2011-06-07 10: 57: 52 424 - INFO - (plattform / lese) suksess i 1.093576s
tiers.0.status_.detail "stoppet vellykket"
tiers.0.status_.value "stoppet"
tiers.0.keypair.status_.detail "nøkkelpar skapt"
tiers.0.keypair.status_.value "stoppet"
tiers.0.sg.status_.detail "regler autorisert vellykket"
tiers.0.sg.status_.value "stoppet"
tiers.1.status_.detail "stoppet vellykket"
tiers.1.status_.value "stoppet"
tiers.1.server.status_.detail "venter på stoppet, tiden stoppet"
tiers.1.server.status_.value "stoppet"
status_.detail "stop operasjon vellykket"
status_.value "stoppet"
Plattformen eksisterer fortsatt i skyen, men det er ikke lenger pådra dyre beregningskostnader (det er imidlertid å påføre neglisjerbare lagringskostnader). Du er heller ikke lenger pådra C2 plattform avgifter. På dette punktet, koster din plattform effektivt ingenting.
Plattformer kan stoppes og startes uten grenser.
Ødelegge plattformen
Å faktisk ødelegge alt av skyen komponenter som inngår i din plattform, må du gi en c2 plattform ødelegge og gi _id av målet plattform:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform ødelegge --_ 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 Akseptert, lesing 0 bytes application / json
2011-06-07 11: 04: 11 953 - INFO - (plattform / ødelegge) suksess i 1.300462s
Slett plattformen
Hvis du listen plattformene vil du se at den ødela plattform fortsatt eksisterer:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform liste | C2 pen
2011-06-07 11: 12: 02 771 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 12: 03 149 - INFO - <= 200 OK, lesing 1577 bytes application / json
2011-06-07 11: 12: 03 150 - INFO - (plattform / list) suksess i 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 "ødelegge operasjon vellykket"
0.status_.value "ødelagt"
0.doctype "plattform"
0._rev "7-38fe44c5a900894adf48f4a416c94338"
0.template.cls_ "lib.platform.vanilla.natty.UbuntuNattyPlatform"
0._id "7bbeacb1082e4810bb1a6643d024496e"
0.state.running falsk
0.state.transitioning falsk
0.state.built falsk
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
Fra intervallet kan du se det tok:
- 58 sekunder for å starte denne plattformen
- 33 sekunder for å stoppe det
- 9 sekunder for å ødelegge det
Du kan alltid re-starte en ødelagt plattform og har det gjenoppbygge skyen komponentene igjen. Men for å fullføre slette plattformen og dens nestet dokumenter, må du utstede en c2 plattform slette:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform slette --_ 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 No Content, lesing 0 bytes application / json
2011-06-07 11: 15: 46 474 - INFO - (plattform / slette) suksess i 1.252582s
Å bekrefte, kan vi se vår plattform listen nå er tom:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 plattform liste
2011-06-07 11: 15: 51 890 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 15: 52 296 - INFO - <= 200 OK, lesing 2 bytes application / json
2011-06-07 11: 15: 52 297 - INFO - (plattform / list) suksess i 0.423616s
Logge ut
Ved å utstede en c2 info kan vi se status på vår sesjon:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 info
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, lesing 4082 bytes application / json
{
& Nbsp; "konto": "c2-opdemand",
& Nbsp; "e-post": "gabriel@opdemand.com",
& Nbsp; "expires_at": "Friday, 10 juni 2011 08:44",
& Nbsp; "sesjons": "73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95"
}
2011-06-07 11: 17: 12 138 - INFO - (info) suksess i 0.497018s
Logge ut er rett og slett c2 utlogging:
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 utlogging
2011-06-07 11: 17: 44 903 - INFO - => DELETE https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 45 330 - INFO - <= 204 No Content, lesing 0 bytes application / json
2011-06-07 11: 17: 45 330 - INFO - (utlogging) suksess i 0.443405s
bruker @ boks: ~ / arbeidsområde / c2-shell $ c2 info
2011-06-07 11: 17: 49 025 - INFO - (info) suksess i 0.000376s
Om C2
OpDemand er Command & Control Technology (K2) automatiserer distribusjon og administrasjon av cloud computing infrastruktur. Med et grensesnitt som enkelt som "start, stopp, klone og ødelegge," C2 gir deg kommandoen over sky

Krav .

  • Python

Lignende programvare

AFD
AFD

17 Feb 15

FileZilla
FileZilla

2 Sep 17

NFTP
NFTP

3 Jun 15

Gsh
Gsh

3 Jun 15

Kommentarer til OpDemand Shell

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!