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 Hilfe-Befehl, der die vorhandenen Befehle auflistet, wäre viel besser. Hier ist eine Übersicht der Befehle, die du im Quellcode finden kannst (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>Stelle sicher, dass du \r\n als Zeilenumbrüche verwendest, wenn du Unix-CLI-Tools verwendest. Zum Beispiel</p> printf "set mykey 0 60 4\r\ndata\r\n"
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 Speichermetriken 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
Gibt (die meisten) Metadaten für (alle) Elemente im Cache aus
lru_crawler metadump all
version
Gibt die Serverversion aus
version
verbosity
Erhöht das Protokollniveau
verbosity
quit
Beendet die Sitzung
quit
Verkehrsstatisiken
Du kannst 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 abfragen, indem Sie
stats slabs
# Memcache-Befehle## Grundlegende Befehle- `set`: Setzt einen Wert in den Cache.- `get`: Ruft einen Wert aus dem Cache ab.- `delete`: Löscht einen Wert aus dem Cache.- `flush_all`: Löscht alle Werte im Cache.## Erweiterte Befehle- `incr`: Erhöht den Wert eines Schlüssels um einen bestimmten Betrag.- `decr`: Verringert den Wert eines Schlüssels um einen bestimmten Betrag.- `stats`: Gibt Statistiken über den Memcache-Server zurück.- `version`: Gibt die Version des Memcache-Servers zurück.## Beispiel```bashset mykey 0 900 9123456789
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 Befehl „stats“ 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? <a href="#which-keys-are-used" id="which-keys-are-used"></a>
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](http://100days.de/serendipity/archives/55-Dumping-MemcacheD-Content-Keys-with-PHP.html) verwenden.
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
<div data-gb-custom-block data-tag="embed" data-url='https://websec.nl/'></div>
<div data-gb-custom-block data-tag="hint" data-style='success'>
Lernen & üben Sie AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Unterstützen Sie HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
</details>
</div>