Memcache Commands

Reading time: 4 minutes

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks

Commands Cheat-Sheet

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

I comandi supportati (quelli ufficiali e alcuni non ufficiali) sono documentati nel documento doc/protocol.txt.

Purtroppo la descrizione della sintassi non è molto chiara e un semplice comando di aiuto che elenchi i comandi esistenti sarebbe molto meglio. Ecco una panoramica dei comandi che puoi trovare nella source (a partire dal 19.08.2016):

| Command | Description | Example | | -------------------- | --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | | get | Legge un valore | get mykey | | set | Imposta una chiave incondizionatamente |

set mykey

Assicurati di usare \r\n come interruzioni di riga quando usi strumenti CLI Unix. Ad esempio

printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211

| | add | Aggiunge una nuova chiave | add newkey 0 60 5 | | replace | Sovrascrive una chiave esistente | replace key 0 60 5 | | append | Aggiunge dati a una chiave esistente | append key 0 60 15 | | prepend | Prepend dati a una chiave esistente | prepend key 0 60 15 | | incr | Incrementa il valore numerico della chiave di un numero dato | incr mykey 2 | | decr | Decrementa il valore numerico della chiave di un numero dato | decr mykey 5 | | delete | Elimina una chiave esistente | delete mykey | | flush_all | Invalida immediatamente tutti gli elementi | flush_all | | flush_all | Invalida tutti gli elementi in n secondi | flush_all 900 | | stats | Stampa statistiche generali | stats | | | Stampa statistiche di memoria | stats slabs | | | Stampa statistiche di allocazione di livello superiore | stats malloc | | | Stampa informazioni sugli elementi | stats items | | | | stats detail | | | | stats sizes | | | Resetta i contatori delle statistiche | stats reset | | lru_crawler metadump | Dump (la maggior parte) dei metadati per (tutti) gli elementi nella cache | lru_crawler metadump all | | version | Stampa la versione del server. | version | | verbosity | Aumenta il livello di log | verbosity | | quit | Termina la sessione | quit |

Traffic Statistics

Puoi interrogare le statistiche di traffico attuali utilizzando il comando

stats

Otterrai un elenco che fornisce il numero di connessioni, byte in/out e molto altro.

Esempio di output:

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

Statistiche di Memoria

Puoi interrogare le statistiche di memoria attuali utilizzando

stats slabs

Sure! Please provide the text you would like me to translate.

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

Se non sei sicuro di avere abbastanza memoria per la tua istanza memcached, controlla sempre i contatori di "evictions" forniti dal comando "stats". Se hai abbastanza memoria per l'istanza, il contatore "evictions" dovrebbe essere 0 o almeno non in aumento.

Quali Chiavi Sono Utilizzate?

Non esiste una funzione integrata per determinare direttamente l'attuale insieme di chiavi. Tuttavia, puoi utilizzare il

stats items

comando per determinare quanti chiavi esistono.

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

Questo aiuta almeno a vedere se vengono utilizzate delle chiavi. Per estrarre i nomi delle chiavi da uno script PHP che già accede a memcache, puoi utilizzare il codice PHP di 100days.de.

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks