Netcat経由でUDPパケットをMemcachedに送信する

Netcat経由でUDPパケットをMemcachedに送信する

netcatを介してmemcachedにコマンドを送信しようとしていますが、statsmemcachedから何も受け取りません...

頑張りました

echo "stats" > commands.txt
nc -u 127.0.0.1 11211 < commands.txt

私も試しました

echo stats | nc -u 127.0.0.1 11211

私が下から読んだ内容によるとMemcached ドキュメント、行1176、送信されたコマンドには、以下を含める必要があります。

Each UDP datagram contains a simple frame header, followed by data in the
same format as the TCP protocol described above. In the current
implementation, requests must be contained in a single UDP datagram, but
responses may span several datagrams. (The only common requests that would
span multiple datagrams are huge multi-key "get" requests and "set"
requests, both of which are more suitable to TCP transport for reliability
reasons anyway.)

The frame header is 8 bytes long, as follows (all values are 16-bit integers 
in network byte order, high byte first):

0-1 Request ID
2-3 Sequence number
4-5 Total number of datagrams in this message
6-7 Reserved for future use; must be 0

私の質問は、statsnetcatを使用してudpを介してMemcachedにコマンドをどのように送信できますか?

ベストアンサー1

以下は有効です。フレームヘッダーを指定する必要があります。

printf '\x00\x00\x00\x00\x00\x01\x00\x00stats\r\n' | nc -u 127.0.0.1 11211

おすすめ記事