使用 wireshark 捕獲 請求包

1.出錯場景

今天遇到一個問題,在用戶登錄時,發現用戶在登錄的時候,一個用戶登錄正常,一個用戶登錄報錯,報錯的原因時400錯誤,分析對比發現一個用戶的分配用戶組多,一個分配的少,其中多的那個出錯了。

2. 解決辦法

後來同事通過直接在IDEA使用調試方法,發現調用獲取app 的方法出錯。

image

出錯,出錯的原因是 HTTP 的請求頭過大,原因是,我們使用feign調用的時候,同時在請求頭中放入了當前用戶的信息,作用是 節省從 redis 去獲取當前用戶請求帶來的省耗。

解決辦法是,不在請求頭中加入此信息。

但是如果不用上述的方法有沒有辦法找到問題呢,其實也是有辦法的,可以使用 wireshark 進行抓包。

image

可以在過濾器輸入框中輸入如下的條件

image

http contains "getAppsByIds"

我們在登錄的時候,就會命中此請求。

我們追蹤請求流的信息。

image

image

可以明顯的看到,請求頭中傳入了 curUser:的請求頭,其實正常情況下是沒什麼問題的,不過請求頭有大小限制,如果用戶設置過多的用戶組,其實就會出現上面的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章