# Memcache コマンド
htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ HackTricks をサポートする他の方法: - **HackTricks で企業を宣伝**したい場合や **HackTricks をPDFでダウンロード**したい場合は [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) をチェック! - [**公式PEASS&HackTricksスワッグ**](https://peass.creator-spring.com)を入手 - [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な [**NFTs**](https://opensea.io/collection/the-peass-family) のコレクションを見つける - **💬 [Discordグループ](https://discord.gg/hRep4RUj7f)** に参加するか、[telegramグループ](https://t.me/peass) に参加するか、**Twitter** 🐦 で **@carlospolopm** をフォローする - **ハッキングテクニックを共有**するには、[HackTricks](https://github.com/carlospolop/hacktricks) と [HackTricks Cloud](https://github.com/carlospolop/hacktricks-cloud) のGitHubリポジトリにPRを提出してください。
## コマンドチートシート **From** [**https://lzone.de/cheat-sheet/memcached**](https://lzone.de/cheat-sheet/memcached) サポートされているコマンド(公式および非公式)は、[doc/protocol.txt](https://github.com/memcached/memcached/blob/master/doc/protocol.txt) ドキュメントに記載されています。 残念ながら、構文の説明はあまり明確ではなく、既存のコマンドをリストアップする単純なヘルプコマンドの方がはるかに良いでしょう。ここでは、[source](https://github.com/memcached/memcached) で見つけられるコマンドの概要を示します(2016年8月19日現在): | コマンド | 説明 | 例 | | --------------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | get | 値を読み取る | `get mykey` | | set | キーを無条件で設定する |

set mykey <flags> <ttl> <size>

<p>Unix CLI ツールを使用する場合は、改行として \r\n を使用してください。例: 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` | #### トラフィック統計 現在のトラフィック統計をクエリすることができます。 ``` stats ``` 以下は、接続数、バイトの入出力などを提供するリストです。 **出力例:** ```plaintext STAT pid 1 STAT uptime 229 STAT time 1610351263 STAT version 1.4.13 STAT libevent 2.0.21-stable STAT pointer_size 64 STAT rusage_user 0.000000 STAT rusage_system 0.000000 STAT curr_connections 5 STAT total_connections 6 STAT connection_structures 6 STAT reserved_fds 20 STAT cmd_get 0 STAT cmd_set 0 STAT cmd_flush 0 STAT cmd_touch 0 STAT get_hits 0 STAT get_misses 0 STAT delete_misses 0 STAT delete_hits 0 STAT incr_misses 0 STAT incr_hits 0 STAT decr_misses 0 STAT decr_hits 0 STAT cas_misses 0 STAT cas_hits 0 STAT cas_badval 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 0 STAT bytes_written 0 STAT limit_maxbytes 67108864 STAT accepting_conns 1 STAT listen_disabled_num 0 STAT time_in_listen_disabled_us 0 STAT threads 4 STAT conn_yields 0 STAT hash_power_level 16 STAT hash_bytes 524288 STAT hash_is_expanding 0 STAT expired_unfetched 0 STAT evicted_unfetched 0 STAT evictions 0 STAT reclaimed 0 STAT crawler_reclaimed 0 STAT crawler_items_checked 0 STAT lrutail_reflocked 0 STAT accepting_conns 1 STAT listen_disabled_num 0 STAT time_in_listen_disabled_us 0 STAT hash_power_level 16 STAT hash_bytes 524288 STAT hash_is_expanding 0 STAT expired_unfetched 0 STAT evicted_unfetched 0 STAT evictions 0 STAT reclaimed 0 STAT crawler_reclaimed 0 STAT crawler_items_checked 0 STAT lrutail_reflocked 0 END ``` ``` 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 #### Stats Command The `stats` command is used to retrieve statistics from the Memcached server. This command provides information such as the total number of connections, cache hits, cache misses, and more. Example: ```bash $ echo "stats" | nc 11211 ``` #### Set Command The `set` command is used to set a key-value pair in the Memcached server. Example: ```bash $ echo "set mykey 0 0 5\r\nhello\r\n" | nc 11211 ``` #### Get Command The `get` command is used to retrieve the value associated with a key from the Memcached server. Example: ```bash $ echo "get mykey" | nc 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 ``` #### どのキーが使用されていますか? もしメモリキャッシュインスタンスに十分なメモリがあるかどうか確信が持てない場合は、"stats"コマンドによって与えられる"evictions"カウンターに注意してください。インスタンスに十分なメモリがある場合、"evictions"カウンターは0であるか、少なくとも増加していないはずです。 ``` stats items ``` ### Command to determine how many keys do exist ```plaintext 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](http://100days.de/serendipity/archives/55-Dumping-MemcacheD-Content-Keys-with-PHP.html)のPHPコードを使用できます。