Memcache Commands

Reading time: 4 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

Commands Cheat-Sheet

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

Підтримувані команди (офіційні та деякі неофіційні) задокументовані в документі doc/protocol.txt.

На жаль, опис синтаксису не зовсім зрозумілий, і проста команда допомоги, що перераховує існуючі команди, була б набагато кращою. Ось огляд команд, які ви можете знайти в source (станом на 19.08.2016):

| Command | Description | Example | | -------------------- | --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | | get | Читає значення | get mykey | | set | Встановлює ключ без умов |

set mykey

Переконайтеся, що ви використовуєте \r\n як розриви рядків при використанні Unix CLI інструментів. Наприклад

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

| | add | Додає новий ключ | add newkey 0 60 5 | | replace | Перезаписує існуючий ключ | replace key 0 60 5 | | append | Додає дані до існуючого ключа | append key 0 60 15 | | prepend | Додає дані на початок існуючого ключа | prepend key 0 60 15 | | incr | Збільшує числове значення ключа на задане число | incr mykey 2 | | decr | Зменшує числове значення ключа на задане число | decr mykey 5 | | delete | Видаляє існуючий ключ | delete mykey | | flush_all | Негайно анулює всі елементи | flush_all | | flush_all | Негайно анулює всі елементи через n секунд | flush_all 900 | | stats | Виводить загальну статистику | stats | | | Виводить статистику пам'яті | stats slabs | | | Виводить статистику виділення на вищому рівні | stats malloc | | | Виводить інформацію про елементи | stats items | | | | stats detail | | | | stats sizes | | | Скидає лічильники статистики | stats reset | | lru_crawler metadump | Виводить (більшість) метаданих для (всіх) елементів у кеші | lru_crawler metadump all | | version | Виводить версію сервера. | version | | verbosity | Збільшує рівень журналювання | verbosity | | quit | Завершує сесію | quit |

Traffic Statistics

Ви можете запитати поточну статистику трафіку, використовуючи команду

stats

Ви отримаєте список, який показує кількість з'єднань, байтів в/в та багато іншого.

Приклад виходу:

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

Статистика пам'яті

Ви можете запитати поточну статистику пам'яті, використовуючи

stats slabs

I'm ready to assist you with the translation. 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

Якщо ви не впевнені, чи маєте достатньо пам'яті для вашого екземпляра memcached, завжди звертайте увагу на лічильники "evictions", які надає команда "stats". Якщо у вас достатньо пам'яті для екземпляра, лічильник "evictions" повинен бути 0 або принаймні не зростати.

Які ключі використовуються?

Не існує вбудованої функції для безпосереднього визначення поточного набору ключів. Однак ви можете використовувати

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

Це принаймні допомагає побачити, чи використовуються якісь ключі. Щоб вивантажити імена ключів з PHP-скрипта, який вже виконує доступ до memcache, ви можете використовувати PHP-код з 100days.de.

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks