非 memcached 預設埠,wireshark 如何解析它?
最近在寫 memcached 系列文章的時候,為了瞭解客戶端和memcached之間的通訊,使用wireshark分析了相關流量,但遇到了一個問題,覺得挺典型的,為此分享一下。
memcached 為了分析 memcached 流量,需要特定的解碼器(預設是支援的),可以通過下列方法開啟或關閉,點選【分析】選單,選擇【啟用的協議】,如下圖:
接下去說具體的問題:
memcached 預設埠是 11211,wireshark 在分析 memcached tcp 流量的時候,如果發現埠是 11211,則會解析出 memcached 協議資料,如下圖:
如果 memcached 啟動的埠非 11211,則 wireshark 預設不會顯示 memcached 協議,只會顯示 TCP 協議,如下圖:
這樣在排查問題的時候不是很方便,如何解決呢?有兩個辦法,接下去使用 wiershark 2.6.0 中文版演示。
1:tcp 流
右鍵點選 wireshark 介面,選擇追蹤流->TCP 流,就可以看到完整的 memcached 操作命令了。
如下圖:
2:變更解碼方式
然後點選【分析】選單,選擇【解碼為】,如果沒有特定 memcached 埠的解碼方式,可以手動新增(在本例中 memcached 啟動埠是 50028),如下圖:
然後你就能看到非 memcached 預設埠的解析了,如下圖:
觸類旁通,分析其它協議的時候,可以手動變更解碼方式。
歡迎大家關注我的公眾號(ID:yudadanwx,虞大膽的嘰嘰喳喳)。