MySQLパケット続き
wiresharkでパケットを見てみたらhandshake時のcapacity flag部分が結構ドキュメントと違うことがわかった。 2バイトで分割されて、その2バイトそれぞれの中でリトルエンディアンになっている。
devドキュメントではなくて、source code documentみてもここらへんの説明はないしつらい、、、 wiresharkのMySQL対応様様という感じで、このpacket-mysql.cを参考にするのが良さそう。コメントでドキュメントにない説明もあって良い。
さらに、application layer内に複数のMySQL protocolのパケットが入っていることもある。特に結果の応答パケットはいろいろはいっている。おそらく最後がEOFのfeが来てるやつ。