OpDemand Shell

Software screenshot:
OpDemand Shell
Software informatie:
Versie: 0.9
Upload datum: 15 Apr 15
Ontwikkelaar: OpDemand
Licentie: Gratis
Populariteit: 10

Rating: nan/5 (Total Votes: 0)

Het OpDemand Shell-project bevat de command-line client interface naar de C2-systeem. Deze python modules maken deel uit van OpDemand's Command & Control-technologie (C2).
Open Source
De c2-shell project is open source gemaakt door OpDemand.
C2 Shell Documentatie
Voordat u begint
- U zult een actieve C2 account nodig. Maak gratis een aan op https://c2.opdemand.com/
- Instructies veronderstellen OSX of Linux (Windows is niet getest, maar zou moeten werken)
installatie
De installatie maakt gebruik van standaard distutils conventie.
sudo python setup.py installeren
Configuratie
Uw C2 login e-mailadres toe te voegen aan de lokale client configuratie.
c2 lokale set --email=c2user@opdemand.com
Een c2 lokale get zal de huidige configuratie weer te geven.
Inloggen
Afgifte van een c2 login, waarin de bovenstaande e-mailadres geconfigureerd zullen gebruiken en u wordt gevraagd om een ​​wachtwoord.
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 login
wachtwoord:
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, het lezen van 1822 bytes van application / json
[# JSON lijst met sjablonen
& Nbsp; {
& Nbsp; # Eerste template
& Nbsp;},
& Nbsp; {
& Nbsp; # Tweede template
& Nbsp;}
]
2011-06-07 09: 21: 21.881 - INFO - (template / lijst) succes in 0.524872s
Vind de _id waarde van de sjabloon die u wilt implementeren, en kopieer deze naar uw klembord.
Maak een nieuw platform
Selecteer de gewenste sjabloon en de afgifte van een c2 template belasting van de sjabloon _id, die een frisse platform te creëren.
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 template load --_ 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 Gemaakt, het lezen van 14850 bytes van application / json
{
& Nbsp; # Veel langer JSON representatie van de sjabloon
}
2011-06-07 09: 42: 38.757 - INFO - (template / load) succes in 2.061932s
Lijst Platforms
Afgifte van een c2 platform lijst om de beschikbare platforms in uw account.
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lijst
2011-06-07 09: 46: 48.327 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 09: 46: 48.884 - INFO - <= 200 OK, het lezen van 566 bytes van application / json
[
& Nbsp; {
& Nbsp; # Uw nieuwe platform
& Nbsp;}
]
2011-06-07 09: 46: 48.885 - INFO - (platform / lijst) succes in 0.572228s
Kopieer de _id van dit platform naar uw klembord.
Lees het platform
Lijst operaties slechts summiere weergave van items in een collectie te laten zien. Om de volledige weergave van een platform (een die haar geneste componenten bevat), moet u een c2 platform gelezen en verleent de _id bekijken:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lezen --_ 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, het lezen van 14850 bytes van application / json
{
& Nbsp; # Volledige platform representatie
}
2011-06-07 10: 16: 07.152 - INFO - (platform / lezen) succes in 1.117754s
Werken met JSON reacties
De bovenstaande platform is te lang om te lezen. Gelukkig is de C2 shell bevat een geïntegreerde JSON prettifier dat JSON uitgang maakt vanuit elke C2 shell command veel gemakkelijker te lezen.
Gewoon pijp elke c2 commando om vrij C2:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 template lezen --_ id = 6c86dfc5ddfe464199021b8dcaf521a2 | C2 vrij
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, het lezen van 12022 bytes van application / json
2011-06-07 09: 32: 01.535 - INFO - (template / lezen) succes in 0.904613s
tiers.0.name "Netwerk Tier"
tiers.0.doctype "tier"
tiers.0._rev "1-5a37d211b276deee536cd72a016af8fa"
... Rest van prettified JSON
Alle C2 leesopdrachten uit standaard invoer en schrijven naar standaard uitvoer. Dit betekent ruwe JSON en prettified JSON kan worden doorgesluisd naar een andere opdracht die UNIX-stijl buizen gebruikt. (Bijv grep).
Configureren van het platform
Lees eerst het platform en grep voor de standaard config informatie:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lezen --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 vrij | 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, het lezen van 14850 bytes van application / json
2011-06-07 10: 26: 30.635 - INFO - (platform / lezen) succes in 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 "ons-oost-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 luisteren op de server"
metadata.config_info.access_network "Netwerk masker voor publieke gebruikers"
metadata.config_info.cloud_name "Naam van AWS regio"
metadata.config_info.admin_network "Netwerk masker voor admin gebruikers"
Laten we allemaal het netwerk toegang tot een host te beperken - 1.1.1.1/32. Dit vereist het veranderen van de access_network en admin_network toetsen.
Sinds config is een geneste document met een eigen _id en _rev, moeten we de config document rechtstreeks te wijzigen. Om dit te doen, volgen we de RESTful conventie van het lezen van de representatie en piping aan een update operatie:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 config lezen --_ id = ceee3724a3674bc096a2a6d2dfde7209 | c2 config update - --access_network = 1.1.1.1 / 32 --admin_network = 1.1.1.1 / 32
2011-06-07 10: 35: 39.643 - INFO - lezen object van stdin, ctrl-c om te breken ...
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, het lezen van 692 bytes van application / json
2011-06-07 10: 35: 40.574 - INFO - (config / lezen) succes in 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, het lezen van 694 bytes van 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": "ons-oost-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 / update) succes in 0.730138s
Herlees het platform configuratie om te bevestigen het bovenliggende document bevat de bijgewerkte, geneste configuratie:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lezen --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 vrij | 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, het lezen van 14852 bytes van application / json
2011-06-07 10: 37: 11.977 - INFO - (platform / lezen) succes in 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 "ons-oost-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 luisteren op de server"
metadata.config_info.access_network "Netwerk masker voor publieke gebruikers"
metadata.config_info.cloud_name "Naam van AWS regio"
metadata.config_info.admin_network "Netwerk masker voor admin gebruikers"
Start het platform
Met onze AWS geloofsbrieven op zijn plaats, en ons platform in de rij staan ​​we klaar om te gaan. Afgifte van een c2 platform start en laat de orkestratie beginnen:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform beginnen --_ 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 Toegelaten, lezen 0 bytes van application / json
2011-06-07 10: 42: 53.816 - INFO - (platform / start) succes in 0.981219s
Om de voortgang van het platform te volgen, lees het volledige platform vertegenwoordiging en grep voor de status van alle geneste objecten:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lezen --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 vrij | 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, het lezen van 22227 bytes van application / json
2011-06-07 10: 43: 07.451 - INFO - (platform / lezen) succes in 0.935643s
tiers.0.status_.value "gebouw"
tiers.0.keypair.status_.detail "sleutelpaar gecreëerd"
tiers.0.keypair.status_.value "ingebouwd"
tiers.0.sg.status_.detail "regels met succes geautoriseerd"
tiers.0.sg.status_.value "ingebouwd"
tiers.1.status_.value "gebouw"
tiers.1.server.status_.detail "wachten voor hardlopen, momenteel hangende"
tiers.1.server.status_.value "gebouw"
status_.detail "start operatie getriggerd"
status_.value "vanaf"
We zien de status platform-niveau begint. Heruitgave deze opdracht een aantal keren naar de status "poll". Grepping voor staat is ook nuttig voor het aantonen van die componenten die momenteel zijn overgang. Wanneer het platform wordt gedaan, moet de status als volgt uitzien:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lezen --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 vrij | 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, het lezen van 27.129 bytes van application / json
2011-06-07 10: 44: 21,988 - INFO - (platform / lezen) succes in 0.990599s
tiers.0.status_.detail "begonnen met succes"
tiers.0.status_.value "running"
tiers.0.keypair.status_.detail "sleutelpaar gecreëerd"
tiers.0.keypair.status_.value "running"
tiers.0.sg.status_.detail "regels met succes geautoriseerd"
tiers.0.sg.status_.value "running"
tiers.1.status_.detail "begonnen met succes"
tiers.1.status_.value "running"
tiers.1.server.status_.detail "luisteraar klaar bij 22 / tcp"
tiers.1.server.status_.value "running"
status_.detail "start operatie geslaagd"
status_.value "running"
Let op een ouder-niveau status van "running" met de server luisteraar klaar om op 22 / tcp. Ons platform is klaar.
Met behulp van het platform
Alle platformen te publiceren informatie over de manier waarop ze worden gebruikt. De meeste platforms publiceren een combinatie van:
- URL's
- Hostnaam / Port combinaties
- Logins
- Wachtwoorden
Als we lezen het platform en grep te publiceren kunnen we zien dit platform publiceerde een eenvoudige SSH url:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lezen --_ id = 7bbeacb1082e4810bb1a6643d024496e | c2 pretty | grep publiceren
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, het lezen van 27.129 bytes van application / json
2011-06-07 10: 51: 32.038 - INFO - (platform / lezen) succes in 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 voor toegang tot het platform"
Een veel voorkomende patroon is voor de platforms te publiceren:
- Admin URL
- Admin Login
- Admin Password
- Toegang URL
Het stoppen van het platform
Zodra het platform is gestopt, zal de status er ongeveer zo uitzien:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lezen --_ id = 7bbeacb1082e4810bb1a6643d024496e | C2 vrij | 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, het lezen van 27.966 bytes van application / json
2011-06-07 10: 57: 52.424 - INFO - (platform / lezen) succes in 1.093576s
tiers.0.status_.detail "met succes gestopt"
tiers.0.status_.value "gestopt"
tiers.0.keypair.status_.detail "sleutelpaar gecreëerd"
tiers.0.keypair.status_.value "gestopt"
tiers.0.sg.status_.detail "regels met succes geautoriseerd"
tiers.0.sg.status_.value "gestopt"
tiers.1.status_.detail "met succes gestopt"
tiers.1.status_.value "gestopt"
tiers.1.server.status_.detail "wachten gestopt, op dit moment gestopt"
tiers.1.server.status_.value "gestopt"
status_.detail "stop operatie geslaagd"
status_.value "gestopt"
Het platform bestaat nog steeds in de cloud, maar het is niet meer het aangaan van dure compute kosten (het is echter aangaan verwaarloosbaar opslagkosten). Je bent ook niet meer aangaan C2 platform vergoedingen. Op dit punt, uw platform kost effectief niets.
Platforms kan worden gestopt en gestart zonder beperking.
Vernietig het platform
Om daadwerkelijk alle van de cloud componenten in uw platform te vernietigen, moet je school een c2-platform te vernietigen en bieden de _id van het doel platform:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform vernietigen --_ 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 Toegelaten, lezen 0 bytes van application / json
2011-06-07 11: 04: 11.953 - INFO - (platform / vernietigen) succes in 1.300462s
Wis het platform
Als u een lijst van de platforms zie je dat de vernietigde platform bestaat nog steeds:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lijst | C2 vrij
2011-06-07 11: 12: 02.771 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 12: 03.149 - INFO - <= 200 OK, het lezen van 1577 bytes van application / json
2011-06-07 11: 12: 03.150 - INFO - (platform / lijst) succes in 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 "vernietigen operatie geslaagd"
0.status_.value "vernietigd"
0.doctype "platform"
0._rev "7-38fe44c5a900894adf48f4a416c94338"
0.template.cls_ "lib.platform.vanilla.natty.UbuntuNattyPlatform"
0._id "7bbeacb1082e4810bb1a6643d024496e"
0.state.running valse
0.state.transitioning valse
0.state.built valse
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
Vanaf het interval dat u kunt zien het duurde:
- 58 seconden om dit platform te starten
- 33 seconden om het te stoppen
- 9 seconden om het te vernietigen
U kunt altijd opnieuw beginnen met een vernietigde platform en hebben het de cloud componenten weer te herbouwen. Maar om te voltooien verwijderen van het platform en de geneste documenten, moet u een c2 platform te geven verwijderen:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform verwijderen --_ 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, het lezen 0 bytes van application / json
2011-06-07 11: 15: 46.474 - INFO - (platform / verwijderen) succes in 1.252582s
Om te bevestigen, kunnen we zien ons platform lijst is nu leeg:
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 platform lijst
2011-06-07 11: 15: 51.890 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 15: 52.296 - INFO - <= 200 OK, het lezen van 2 bytes van application / json
2011-06-07 11: 15: 52.297 - INFO - (platform / lijst) succes in 0.423616s
Uitloggen
Door de uitgifte van een c2 info kunnen we de status van onze sessie te zien:
gebruiker @ doos: ~ / werkruimte / 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, het lezen van 4082 bytes van application / json
{
& Nbsp; "account": "c2-opdemand",
& Nbsp; "e-mail": "gabriel@opdemand.com",
& Nbsp; "expires_at": "vrijdag, juni 10, 2011 08:44",
& Nbsp; "session_id": "73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95"
}
2011-06-07 11: 17: 12.138 - INFO - (info) succes in 0.497018s
Afmelden is gewoon c2 logout:
gebruiker @ doos: ~ / werkruimte / c2-shell $ 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 No Content, het lezen 0 bytes van application / json
2011-06-07 11: 17: 45.330 - INFO - (logout) succes in 0.443405s
gebruiker @ doos: ~ / werkruimte / c2-shell $ c2 info
2011-06-07 11: 17: 49.025 - INFO - (info) succes in 0.000376s
Over C2
OpDemand's Command & Control Technology (C2) automatiseert de implementatie en het beheer van cloud computing-infrastructuur. Met een interface zo eenvoudig als "starten, stoppen, kloon en te vernietigen," C2 geeft u bevel van uw cloud

Eisen .

  • Python

Vergelijkbare software

Bash Blogger
Bash Blogger

2 Jun 15

I-Spy
I-Spy

3 Jun 15

Gistpy
Gistpy

20 Feb 15

SSH-GUI
SSH-GUI

2 Jun 15

Reacties op OpDemand Shell

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!