Memcache Commands

Commandes Memcache

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Feuille de triche des commandes

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

Les commandes prises en charge (officielles et non officielles) sont documentées dans le document doc/protocol.txt.

Malheureusement, la description de la syntaxe n'est pas vraiment claire et une simple commande d'aide listant les commandes existantes serait bien meilleure. Voici un aperçu des commandes que vous pouvez trouver dans la source (au 19.08.2016) :

CommandeDescriptionExemple

get

Lit une valeur

get mykey

set

Définit une clé de manière inconditionnelle

set mykey <flags> <ttl> <size> <p>Assurez-vous d'utiliser \r\n comme sauts de ligne lors de l'utilisation d'outils CLI Unix. Par exemple</p> printf "set mykey 0 60 4\r\ndata\r\n"

add

Ajoute une nouvelle clé

add newkey 0 60 5

replace

Remplace une clé existante

replace key 0 60 5

append

Ajoute des données à une clé existante

append key 0 60 15

prepend

Ajoute des données au début d'une clé existante

prepend key 0 60 15

incr

Incrémente la valeur numérique de la clé donnée

incr mykey 2

decr

Décrémente la valeur numérique de la clé donnée

decr mykey 5

delete

Supprime une clé existante

delete mykey

flush_all

Invalide immédiatement tous les éléments

flush_all

flush_all

Invalide tous les éléments dans n secondes

flush_all 900

stats

Affiche des statistiques générales

stats

Affiche des statistiques sur la mémoire

stats slabs

Affiche des statistiques d'allocation de niveau supérieur

stats malloc

Affiche des informations sur les éléments

stats items

stats detail

stats sizes

Réinitialise les compteurs de statistiques

stats reset

lru_crawler metadump

Dump (la plupart) des métadonnées pour (tous) les éléments dans le cache

lru_crawler metadump all

version

Affiche la version du serveur

version

verbosity

Augmente le niveau de journalisation

verbosity

quit

Termine la session

quit

Statistiques du trafic

Vous pouvez interroger les statistiques de trafic actuelles en utilisant la commande

stats

Vous obtiendrez une liste qui indique le nombre de connexions, les octets entrants/sortants et bien plus encore.

Exemple de sortie :

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

Statistiques de mémoire

Vous pouvez interroger les statistiques de mémoire actuelles en utilisant

stats slabs

Memcache Commands

Stats

To retrieve general statistics about the Memcache server, you can use the stats command:

$ echo "stats" | nc <ip> 11211

Get

To retrieve a value from Memcache, you can use the get command followed by the key:

$ echo "get <key>" | nc <ip> 11211

Set

To set a key-value pair in Memcache, you can use the set command followed by the key, flags, exptime, and bytes:

$ echo -e "set <key> <flags> <exptime> <bytes>\r\n<value>" | nc <ip> 11211

Delete

To delete a key from Memcache, you can use the delete command followed by the key:

$ echo "delete <key>" | nc <ip> 11211
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

Si vous n'êtes pas sûr d'avoir suffisamment de mémoire pour votre instance memcached, surveillez toujours les compteurs "évictions" donnés par la commande "stats". Si vous avez suffisamment de mémoire pour l'instance, le compteur "évictions" devrait être de 0 ou du moins ne pas augmenter.

Quelles clés sont utilisées?

Il n'y a pas de fonction intégrée pour déterminer directement l'ensemble actuel de clés. Cependant, vous pouvez utiliser le

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

Cela aide au moins à voir si des clés sont utilisées. Pour extraire les noms de clés à partir d'un script PHP qui accède déjà à memcache, vous pouvez utiliser le code PHP de 100days.de.

Dernière mise à jour