mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 07:01:09 +00:00
13 KiB
13 KiB
Memcache 命令
从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想看到您的公司在 HackTricks 中做广告或下载 PDF 版本的 HackTricks,请查看订阅计划!
- 获取官方 PEASS & HackTricks 商品
- 探索PEASS 家族,我们的独家NFT系列
- 加入 💬 Discord 群组 或 电报群组 或在 Twitter 🐦 @carlospolopm 上关注我们。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
命令速查表
来源 https://lzone.de/cheat-sheet/memcached
支持的命令(官方和一些非官方)在 doc/protocol.txt 文档中有记录。
遗憾的是,语法描述并不是很清晰,一个简单的帮助命令列出现有命令会更好。以下是您可以在 源代码 中找到的命令概述(截至 2016 年 8 月 19 日):
命令 | 描述 | 示例 |
---|---|---|
get | 读取值 | get mykey |
set | 无条件设置密钥 |
|
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 |
交通统计
您可以使用以下命令查询当前的交通统计信息
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
Memcache Commands
Retrieval Commands
- get: Retrieve the value for a given key.
- gets: Retrieve the value for a given key with CAS value.
Storage Commands
- set: Set a new key with a specific value.
- add: Add a new key with a specific value (fails if key already exists).
- replace: Replace the value of an existing key.
- append: Append data to the existing key's value.
- prepend: Prepend data to the existing key's value.
- cas: Set a new value for a key based on its CAS value.
Deletion Commands
- delete: Delete the key and its value.
- flush_all: Clear all keys in the server.
Increment/Decrement Commands
- incr: Increment the numeric value of a key.
- decr: Decrement the numeric value of a key.
Touch Command
- touch: Update the expiration time of a key.
Stats Command
- stats: Get statistics from the server.
Other Commands
- version: Get the version of the server.
- quit: Close the connection.
Multi-Processing Commands
- multi_get: Retrieve multiple values for the given keys.
- multi_set: Set multiple keys with their respective values.
- multi_add: Add multiple keys with their respective values.
- multi_replace: Replace multiple keys with their respective values.
- multi_delete: Delete multiple keys.
Flush Command
- flush_all: Clear all keys in the server.
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实例是否有足够的内存,请始终注意“stats”命令给出的“evictions”计数器。如果实例有足够的内存,“evictions”计数器应该为0,或者至少不会增加。
stats items
Command to determine how many keys do exist
Use the following command to determine the number of keys that exist in the Memcache server:
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
这至少有助于查看是否使用了任何键。要从已经执行memcache访问的PHP脚本中转储键名称,您可以使用来自100days.de的PHP代码。