Memcache-Befehle

Reading time: 4 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

Befehle Cheat-Sheet

Von https://lzone.de/cheat-sheet/memcached

Die unterstützten Befehle (die offiziellen und einige inoffizielle) sind im doc/protocol.txt Dokument dokumentiert.

Leider ist die Syntaxbeschreibung nicht wirklich klar und ein einfacher Hilfsbefehl, der die vorhandenen Befehle auflistet, wäre viel besser. Hier ist eine Übersicht der Befehle, die Sie in der source finden können (Stand 19.08.2016):

| Befehl | Beschreibung | Beispiel | | -------------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | | get | Liest einen Wert | get mykey | | set | Setzt einen Schlüssel bedingungslos |

set mykey <flags> <ttl> <size>

<p>Stellen Sie sicher, dass Sie \r\n als Zeilenumbrüche verwenden, wenn Sie Unix-CLI-Tools verwenden. Zum Beispiel</p> printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211

| | add | Fügt einen neuen Schlüssel hinzu | add newkey 0 60 5 | | replace | Überschreibt einen vorhandenen Schlüssel | replace key 0 60 5 | | append | Fügt Daten zu einem vorhandenen Schlüssel hinzu | append key 0 60 15 | | prepend | Fügt Daten vor einem vorhandenen Schlüssel hinzu | prepend key 0 60 15 | | incr | Erhöht den numerischen Schlüsselwert um eine gegebene Zahl | incr mykey 2 | | decr | Verringert den numerischen Schlüsselwert um eine gegebene Zahl| decr mykey 5 | | delete | Löscht einen vorhandenen Schlüssel | delete mykey | | flush_all | Ungültig machen aller Elemente sofort | flush_all | | flush_all | Ungültig machen aller Elemente in n Sekunden | flush_all 900 | | stats | Gibt allgemeine Statistiken aus | stats | | | Gibt Speicherdaten aus | stats slabs | | | Gibt Statistiken zur höheren Ebene der Zuweisung aus | stats malloc | | | Gibt Informationen zu den Elementen aus | stats items | | | | stats detail | | | | stats sizes | | | Setzt die Statistikzähler zurück | stats reset | | lru_crawler metadump | Dump (die meisten) Metadaten für (alle) Elemente im Cache | lru_crawler metadump all | | version | Gibt die Serverversion aus. | version | | verbosity | Erhöht das Protokollniveau | verbosity | | quit | Beendet die Sitzung | quit |

Verkehrsstatisiken

Sie können die aktuellen Verkehrsstatisiken mit dem Befehl abfragen

stats

Sie erhalten eine Auflistung, die die Anzahl der Verbindungen, Bytes ein/aus und vieles mehr anzeigt.

Beispielausgabe:

STAT pid 14868
STAT uptime 175931
STAT time 1220540125
STAT version 1.2.2
STAT pointer_size 32
STAT rusage_user 620.299700
STAT rusage_system 1545.703017
STAT curr_items 228
STAT total_items 779
STAT bytes 15525
STAT curr_connections 92
STAT total_connections 1740
STAT connection_structures 165
STAT cmd_get 7411
STAT cmd_set 28445156
STAT get_hits 5183
STAT get_misses 2228
STAT evictions 0
STAT bytes_read 2112768087
STAT bytes_written 1000038245
STAT limit_maxbytes 52428800
STAT threads 1
END

Speicherstatistiken

Sie können die aktuellen Speicherstatistiken mit folgendem Befehl abfragen:

stats slabs

Bitte geben Sie den Text ein, den Sie übersetzen möchten.

STAT 1:chunk_size 80
STAT 1:chunks_per_page 13107
STAT 1:total_pages 1
STAT 1:total_chunks 13107
STAT 1:used_chunks 13106
STAT 1:free_chunks 1
STAT 1:free_chunks_end 12886
STAT 2:chunk_size 100
STAT 2:chunks_per_page 10485
STAT 2:total_pages 1
STAT 2:total_chunks 10485
STAT 2:used_chunks 10484
STAT 2:free_chunks 1
STAT 2:free_chunks_end 10477
[...]
STAT active_slabs 3
STAT total_malloced 3145436
END

Wenn Sie sich nicht sicher sind, ob Sie genügend Speicher für Ihre Memcached-Instanz haben, achten Sie immer auf die „Evictions“-Zähler, die durch den „stats“-Befehl angegeben werden. Wenn Sie genügend Speicher für die Instanz haben, sollte der „Evictions“-Zähler 0 oder zumindest nicht steigend sein.

Welche Schlüssel werden verwendet?

Es gibt keine integrierte Funktion, um direkt die aktuelle Menge an Schlüsseln zu bestimmen. Sie können jedoch den

stats items

Befehl, um zu bestimmen, wie viele Schlüssel existieren.

stats items
STAT items:1:number 220
STAT items:1:age 83095
STAT items:2:number 7
STAT items:2:age 1405
[...]
END

Dies hilft zumindest zu sehen, ob Schlüssel verwendet werden. Um die Schlüsselnamen aus einem PHP-Skript, das bereits auf den Memcache zugreift, zu dumpen, können Sie den PHP-Code von 100days.de verwenden.

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks