Web開發除錯利器——Wireshark的使用
在Web開發中,尤其是前後端分離架構的專案中,後端開發拿Postman測自己寫的介面,覺得資料是正常的就OK了,可Postman畢竟不是瀏覽器,有些在瀏覽器裡存在的問題會讓我們感到很詫異。究竟是哪裡出了問題,後端說不是我介面的問題,肯定是你傳送的請求有問題,而我們在瀏覽器的開發者工具中看到傳送的資料是對的,這時該如何去測試找出問題呢?
我們傳送的POST,GET等請求方式都屬於HTTP請求,雖然是HTTP請求,但還是基於TCP連線。而HTTP協議屬於OSI網路參考模型的應用層,TCP協議屬於傳輸層,也就是說資料最終還是要通過TCP協議來傳輸。所以客戶端和瀏覽器之間傳輸任何資料都要通過TCP埠。我們只要監聽本地的TCP埠就可以截獲客戶端和伺服器通訊的資料包,術語叫抓包。
來看一個例子:我用Postman來請求一個介面的資料
然後就可以在Wireshark中截獲這個請求
然後跟蹤一下TCP Stream
我們可以看到客戶端和服務端互動的真實資料,並且能看出Postman和瀏覽器傳送的資料有什麼差異,快速分析出問題所在。
甚至還可以看到在一次請求中完整的連線過程,包括三次握手和四次揮手。
過濾表示式規則
這個是最常用的功能,就是精確匹配你想抓取的資料,用好這個,就可以滿足大部分需求了。
- 協議過濾
比如TCP,只顯示TCP協議。
- IP 過濾
比如 ip.src ==192.168.1.102 顯示源地址為192.168.1.102,
ip.dst==192.168.1.102, 目標地址為192.168.1.102
- 埠過濾
tcp.port ==80, 埠為80的
tcp.srcport == 80, 只顯示TCP協議的願埠為80的。
- Http模式過濾
http.request.method=="GET", 只顯示HTTP GET方法的。
- 邏輯運算子為 AND/ OR
常用的過濾表示式
相關文章
- 在自己的 app 中使用 Sarfari 開發工具除錯 Web 頁面APP除錯Web
- 使用 postman 除錯 jwt 開發的介面Postman除錯JWT
- 移動端除錯痛點?——送你五款前端開發利器除錯前端
- Node 除錯利器,前端、Node 開發必備 - VSCode JS Debug Terminal除錯前端VSCodeJS
- 在Mac book安裝vscode開發利器ide除錯mysql mhaMacVSCodeIDE除錯MySql
- Laravel除錯利器 Laravel DebugbarLaravel除錯
- 除錯利器 Laravel Dump Server除錯LaravelServer
- 除錯跟蹤利器---strace除錯
- 滴滴開源 | Rdebug:基於真實流量的研發、除錯、測試利器除錯
- Wireshark除錯TCP三次握手流程除錯TCP
- 【遠端檔案瀏覽器】Unity+Lua開發除錯利器瀏覽器Unity除錯
- Wireshark在多媒體開發中的使用
- 基於gin的golang web開發:認證利器jwtGolangWebJWT
- 使用uniapp開發APP時的除錯/安卓打包等APP除錯安卓
- [譯]使用開發工具來除錯 Beta 版 WebView除錯WebView
- [譯] 元件化開發利器:Web Components標準元件化Web
- phpstorm+x_debug 網頁除錯利器!PHPORM網頁除錯
- 使用VS Code從零開始開發除錯.NET 5除錯
- Web除錯技術詳解Web除錯
- 006 Web Assembly之除錯方法Web除錯
- 前端開發移動端除錯前端除錯
- SpringBoot配置HTTPS及開發除錯Spring BootHTTP除錯
- Fiddler助力微信開發除錯除錯
- Python 程式碼除錯—使用 pdb 除錯Python除錯
- Wireshark使用
- iOS開發-使用Safari除錯iOS APP H5頁面iOS除錯APPH5
- 【新手指引】如何使用 Vscode 配置開發與除錯環境VSCode除錯
- Windows 使用VSCode遠端連線到Linux開發除錯MySQLWindowsVSCodeLinux除錯MySql
- OpenGL Mac開發-如何使用imgui(1.89.4)外掛進行除錯MacGUI除錯
- 隱藏在Web除錯背後的祕密Web除錯
- Fabric Dev開發除錯模式的搭建過程dev除錯模式
- 【前端除錯】- 斷點除錯的正確開啟方式前端除錯斷點
- Mac下用VSCode開發除錯GolangMacVSCode除錯Golang
- iOS開發除錯神器:Reveal 24 for maciOS除錯Mac
- Go 語言開發除錯中階Go除錯
- step 1 :搭建開發除錯環境除錯
- Flutter開發環境搭建和除錯Flutter開發環境除錯
- Android除錯工具Genymotion的使用Android除錯
- [新手指引] 如何使用 Vscode 配置 Rust 開發與除錯環境VSCodeRust除錯