OpDemand Shell

Screenshot der Software:
OpDemand Shell
Softwarebeschreibung:
Version: 0.9
Upload-Datum: 15 Apr 15
Entwickler: OpDemand
Lizenz: Frei
Popularität: 96

Rating: nan/5 (Total Votes: 0)

Die OpDemand Shell-Projekt enthält den Kommandozeilen-Client-Schnittstelle zum C2-System. Diese Python-Module sind Teil OpDemand der Command & Control-Technologie (C2).
Open Source
Die c2-Shell-Projekt wurde von Open-Source-OpDemand gemacht.
C2 Shell Dokumentation
Bevor Sie beginnen
- Sie müssen eine aktive C2 Konto. Erstellen Sie eine kostenlos bei https://c2.opdemand.com/
- Anleitungen setzen voraus, OSX oder Linux (Windows wurde nicht getestet, sollte aber funktionieren)
Installation
Installation verwendet Standard distutils Konvention.
sudo python setup.py install
Konfiguration
Fügen Sie Ihr C2 Login E-Mail Adresse auf den lokalen Client-Konfiguration.
c2 lokalen Soll --email=c2user@opdemand.com
A c2 lokalen get wird die aktuelle Konfiguration anzuzeigen.
Einloggen
Geben Sie einen c2 Anmeldung, die die E-Mail-Adresse oben konfigurierten verwenden und fordert Sie zur Eingabe eines Kennworts wird.
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Login
Passwort:
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, Lesen 1822 Bytes application / json
[# JSON Liste der Vorlagen
& Nbsp; {
& Nbsp; # Erste Vorlage
& Nbsp;},
& Nbsp; {
& Nbsp; # Zweite Vorlage
& Nbsp;}
]
2011-06-07 09: 21: 21.881 - INFO - (Vorlage / Liste) Erfolg im 0.524872s
Finden Sie die _id Wert der Vorlage, die Sie bereitstellen möchten, und kopieren Sie sie in die Zwischenablage.
Erstellen Sie eine neue Plattform
Wählen Sie die gewünschte Vorlage aus und gibt eine c2-Vorlage Last des Template _id, die eine frische Plattform schaffen wird.
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Vorlage Last --_ 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 Erstellt, Lesen 14.850 Bytes application / json
{
& Nbsp; # Viel mehr JSON Darstellung der Vorlage
}
2011-06-07 09: 42: 38.757 - INFO - (Vorlage / Last) Erfolg im 2.061932s
Liste Plattformen
Geben Sie einen c2 Plattform Liste, um die verfügbaren Plattformen in Ihrem Konto.
user @ Feld: ~ / Arbeitsbereich / 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, Lesen 566 Bytes application / json
[
& Nbsp; {
& Nbsp; # Ihre neue Plattform
& Nbsp;}
]
2011-06-07 09: 46: 48.885 - INFO - (Plattform / Liste) Erfolg im 0.572228s
Kopieren Sie die _id dieser Plattform in die Zwischenablage.
Lesen Sie die Plattform
Liste Operationen zeigen nur zusammenfassende Darstellung der Elemente in einer Auflistung. Sie finden die vollständige Darstellung einer Plattform (eine, die seine verschachtelten Komponenten enthält), müssen Sie eine c2-Plattform lesen ausgeben und bieten die _id betrachten:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform gelesen --_ 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, Lesen 14.850 Bytes application / json
{
& Nbsp; # Vollständige Plattform-Darstellung
}
2011-06-07 10: 16: 07.152 - INFO - (Plattform / lesen) Erfolg im 1.117754s
Arbeiten mit JSON Antworten
Die oberhalb der Plattform zu lang gelesen. Glücklicherweise ist die C2-Shell verfügt über eine integrierte JSON prettifier, die JSON-Ausgang von jedem C2 Shell-Befehl ist viel einfacher zu lesen.
Einfach Rohr jede c2 Befehl ziemlich C2:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Vorlage gelesen --_ id = 6c86dfc5ddfe464199021b8dcaf521a2 | c2 ziemlich
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, Lesen 12.022 Bytes application / json
2011-06-07 09: 32: 01.535 - INFO - (Vorlage / lesen) Erfolg im 0.904613s
tiers.0.name "Netzwerk-Tier"
tiers.0.doctype "tier"
tiers.0._rev "1-5a37d211b276deee536cd72a016af8fa"
... Rest prettified JSON
Alle C2 Befehle von der Standardeingabe lesen und schreiben auf die Standardausgabe. Das bedeutet, JSON und prettified JSON kann an jeden anderen Befehl, der UNIX-Rohre verwendet geleitet werden. (Z grep).
Konfigurieren der Plattform
Lesen Sie zuerst die Plattform und grep für die Standard-Konfigurationsinformationen:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform gelesen --_ id = 7bbeacb1082e4810bb1a6643d024496e | c2 hübschen | 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, Lesen 14.850 Bytes application / json
2011-06-07 10: 26: 30.635 - INFO - (Plattform / lesen) Erfolg im 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 "us-east-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 hören auf dem Server"
metadata.config_info.access_network "Netzwerkmaske für öffentliche Benutzer"
metadata.config_info.cloud_name "Name des AWS-Region"
metadata.config_info.admin_network "Netzwerkmaske für Admin-Benutzer"
Lassen Sie uns zu beschränken alle Netzwerkzugriff auf einen Host - 1.1.1.1/32. Dies erfordert eine Änderung der access_network und admin_network Tasten.
Seit Config ist eine verschachtelte Dokument mit eigenem _id und _rev, müssen wir die Config-Dokument direkt ändern. Um dies zu tun, folgen wir der RESTful Konvention zum Lesen der Repräsentation und Rohrleitungen ist zu einer Aktualisierung:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Config lesen --_ 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 - Leseobjekt von der Standardeingabe, Strg-C zu brechen ...
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, Lesen 692 Bytes application / json
2011-06-07 10: 35: 40.574 - INFO - (config / lesen) Erfolg im 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, Lesen 694 Bytes application / json
{
& Nbsp; "_ id": "ceee3724a3674bc096a2a6d2dfde7209"
& Nbsp; "_ U": "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": "us-east-1"
& Nbsp; "doctype": "config",
& Nbsp; "image_id": "ami-06ad526f"
& Nbsp; "impl": {
& Nbsp; "cls_": "c2core.resolve.Config"
& Nbsp;},
& Nbsp; "Ansichten": {
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e": [
& Nbsp; [
& Nbsp; "7bbeacb1082e4810bb1a6643d024496e"
& Nbsp; "config"
& Nbsp;]
& Nbsp;]
& Nbsp;}
}
2011-06-07 10: 35: 41.317 - INFO - (config / update) Erfolg im 0.730138s
Bitte lesen Sie die Plattformkonfiguration zu bestätigen, das übergeordnete Dokument enthält die aktualisierte, verschachtelte Konfiguration:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform gelesen --_ id = 7bbeacb1082e4810bb1a6643d024496e | c2 hübschen | 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, Lesen 14.852 Bytes application / json
2011-06-07 10: 37: 11.977 - INFO - (Plattform / lesen) Erfolg im 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 "us-east-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 hören auf dem Server"
metadata.config_info.access_network "Netzwerkmaske für öffentliche Benutzer"
metadata.config_info.cloud_name "Name des AWS-Region"
metadata.config_info.admin_network "Netzwerkmaske für Admin-Benutzer"
Starten Sie die Plattform
Mit unseren AWS Anmeldeinformationen an Ort und Stelle, und unsere Plattform sich in der Warteschlange, wir sind bereit zu gehen. Geben Sie einen c2 Plattform Start- und lassen Sie die Orchestrierung beginnen:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform starten --_ 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 akzeptiert, Lesen 0 Bytes application / json
2011-06-07 10: 42: 53.816 - INFO - (Plattform / Start) Erfolg im 0.981219s
Um den Fortschritt der Plattform zu folgen, lesen Sie den vollständigen Plattform Repräsentation und grep für den Status aller verschachtelten Objekten:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform gelesen --_ id = 7bbeacb1082e4810bb1a6643d024496e | c2 hübschen | 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, Lesen 22.227 Bytes application / json
2011-06-07 10: 43: 07.451 - INFO - (Plattform / lesen) Erfolg im 0.935643s
tiers.0.status_.value "Gebäude"
tiers.0.keypair.status_.detail "Schlüsselpaar erstellt"
tiers.0.keypair.status_.value "gebaut"
tiers.0.sg.status_.detail "Regeln erfolgreich autorisiert"
tiers.0.sg.status_.value "gebaut"
tiers.1.status_.value "Gebäude"
tiers.1.server.status_.detail "wartet läuft, derzeit anhängig"
tiers.1.server.status_.value "Gebäude"
status_.detail "Start Betrieb ausgelöst"
status_.value "ab"
Wir können sehen, die Plattform-Level-Status ab. Re-issue diesen Befehl mehrmals, um den Status "Umfrage". Greppen für Zustand ist auch nützlich für den Nachweis, welche Komponenten derzeit Übergang. Sobald die Plattform fertig ist, sollte den Status wie folgt aussehen:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform gelesen --_ id = 7bbeacb1082e4810bb1a6643d024496e | c2 hübschen | 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, Lesen 27.129 Bytes application / json
2011-06-07 10: 44: 21.988 - INFO - (Plattform / lesen) Erfolg im 0.990599s
tiers.0.status_.detail "erfolgreich gestartet"
tiers.0.status_.value "läuft"
tiers.0.keypair.status_.detail "Schlüsselpaar erstellt"
tiers.0.keypair.status_.value "läuft"
tiers.0.sg.status_.detail "Regeln erfolgreich autorisiert"
tiers.0.sg.status_.value "läuft"
tiers.1.status_.detail "erfolgreich gestartet"
tiers.1.status_.value "läuft"
tiers.1.server.status_.detail "Zuhörer bereit 22 / tcp"
tiers.1.server.status_.value "läuft"
status_.detail "Start Operation erfolgreich"
status_.value "läuft"
Beachten Sie einen übergeordneten Ebene Status "läuft" mit dem Server Zuhörer bereit am 22. / tcp. Unsere Plattform ist fertig.
Unter Nutzung der Plattform
Alle Plattformen veröffentlichen Informationen darüber, wie sie verwendet werden. Die meisten Plattformen veröffentlichen, eine Kombination aus:
- URLs
- Hostname / Port-Kombinationen
- Logins
- Passwörter
Wenn wir die Plattform und grep für Lesen veröffentlichen wir sehen können, ist diese Plattform veröffentlicht eine einfache SSH url:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform gelesen --_ id = 7bbeacb1082e4810bb1a6643d024496e | c2 hübschen | grep veröffentlichen
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, Lesen 27.129 Bytes application / json
2011-06-07 10: 51: 32.038 - INFO - (Plattform / lesen) Erfolg im 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 für den Zugriff auf die Plattform"
Ein häufiges Muster ist, Plattformen zu veröffentlichen:
- Admin-URL
- Admin Login
- Administratorkennwort
- Access-URL
Stoppen der Plattform
Sobald die Plattform angehalten hat, wird sein Status in etwa so aussehen:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform gelesen --_ id = 7bbeacb1082e4810bb1a6643d024496e | c2 hübschen | 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, Lesen 27.966 Bytes application / json
2011-06-07 10: 57: 52.424 - INFO - (Plattform / lesen) Erfolg im 1.093576s
tiers.0.status_.detail "wurde erfolgreich beendet"
tiers.0.status_.value "gestoppt"
tiers.0.keypair.status_.detail "Schlüsselpaar erstellt"
tiers.0.keypair.status_.value "gestoppt"
tiers.0.sg.status_.detail "Regeln erfolgreich autorisiert"
tiers.0.sg.status_.value "gestoppt"
tiers.1.status_.detail "wurde erfolgreich beendet"
tiers.1.status_.value "gestoppt"
tiers.1.server.status_.detail "wartet gestoppt, gerade gestoppt"
tiers.1.server.status_.value "gestoppt"
status_.detail "Dauerbetrieb erfolgreich"
status_.value "gestoppt"
Die Plattform besteht noch in der Wolke, aber es ist nicht mehr entstehen teure Rechenkosten (es ist jedoch vernachlässigen Lagerkosten anfallen). Du bist auch nicht mehr entstehen C2 Plattform Gebühren. An dieser Stelle Ihre Plattform kostet effektiv nichts.
Plattformen können gestartet und gestoppt werden, ohne Begrenzung.
Zerstören Sie die Plattform
Um tatsächlich zerstören alle Cloud-Komponenten in Ihrer Plattform enthalten, müssen Sie erteilen eine c2-Plattform zu zerstören und bieten die _id der Zielplattform:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform zerstören --_ 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 akzeptiert, Lesen 0 Bytes application / json
2011-06-07 11: 04: 11.953 - INFO - (Plattform / zerstören) Erfolg im 1.300462s
Löschen Sie die Plattform
Wenn Sie die Plattformen Liste sehen Sie, dass das zerstörte Plattform weiterhin vorhanden:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform Zettel | c2 ziemlich
2011-06-07 11: 12: 02.771 - INFO - => GET https://c2core.opdemand.com/platform
2011-06-07 11: 12: 03.149 - INFO - <= 200 OK, Lesen 1577 Bytes application / json
2011-06-07 11: 12: 03.150 - INFO - (Plattform / Liste) Erfolg im 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 "zerstören Operation erfolgreich"
0.status_.value "zerstört"
0.doctype "Plattform"
0._rev "7-38fe44c5a900894adf48f4a416c94338"
0.template.cls_ "lib.platform.vanilla.natty.UbuntuNattyPlatform"
0._id "7bbeacb1082e4810bb1a6643d024496e"
0.state.running falsch
0.state.transitioning falsch
0.state.built falsch
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
Aus der Pause können Sie sehen, es dauerte:
- 58 Sekunden, diese Plattform zu starten
- 33 Sekunden, es zu stoppen
- 9 Sekunden zu zerstören
Sie können jederzeit neu starten, eine zerstörte Plattform und haben es wieder aufzubauen, die Cloud-Komponenten. Allerdings dauern die Plattform und ihre verschachtelte Dokumente zu löschen, müssen Sie eine c2-Plattform ausstellen zu löschen:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Plattform löschen --_ id = 7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 45.235 - INFO - => LÖSCHEN https://c2core.opdemand.com/platform/7bbeacb1082e4810bb1a6643d024496e
2011-06-07 11: 15: 46.474 - INFO - <= 204 Kein Inhalt, Lesen 0 Bytes application / json
2011-06-07 11: 15: 46.474 - INFO - (Plattform / Löschen) Erfolg im 1.252582s
Um zu bestätigen, können wir sehen unsere Plattform Liste jetzt leer:
user @ Feld: ~ / Arbeitsbereich / 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, liest 2 Byte application / json
2011-06-07 11: 15: 52.297 - INFO - (Plattform / Liste) Erfolg im 0.423616s
Abmelden
Durch Ausgabe von c2 Informationen können wir den Status der Sitzung zu sehen:
user @ Feld: ~ / Arbeitsbereich / 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, Lesen 4082 Bytes application / json
{
& Nbsp; "Account": "c2-opdemand"
& Nbsp; "E-Mail": "gabriel@opdemand.com"
& Nbsp; "expires_at": "Friday, 10. Juni 2011 08.44 Uhr"
& Nbsp; "session_id": "73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95"
}
2011-06-07 11: 17: 12.138 - INFO - (info) Erfolg im 0.497018s
Abmelden ist einfach c2 Abmeldung:
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 Logout
2011-06-07 11: 17: 44.903 - INFO - => LÖSCHEN https://c2core.opdemand.com/session/73c2e9b49d01c695fb6c74927b8eb0eee5cdc82c2064cd728a8033eb83ea5b95
2011-06-07 11: 17: 45.330 - INFO - <= 204 Kein Inhalt, Lesen 0 Bytes application / json
2011-06-07 11: 17: 45.330 - INFO - (Logout) Erfolg im 0.443405s
user @ Feld: ~ / Arbeitsbereich / c2-Shell $ c2 info
2011-06-07 11: 17: 49.025 - INFO - (info) Erfolg im 0.000376s
Wir über C2
OpDemand der Command & Control-Technologie (C2) automatisiert die Bereitstellung und Verwaltung von Cloud-Computing-Infrastruktur. Mit einer Schnittstelle so einfach wie "starten, stoppen, Klon und zu zerstören", C2 gibt Ihnen Kontrolle über Ihre Cloud

Anforderungen .

  • Python

Ähnliche Software

sftp-cloudfs
sftp-cloudfs

14 Apr 15

JFtp
JFtp

17 Feb 15

Gistpy
Gistpy

20 Feb 15

Zoidberg
Zoidberg

15 Apr 15

Kommentare zu OpDemand Shell

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!