Go實現的一個命令行HTTP抓包工具


完整代碼:https://github.com/yuanyb/http-capture

 

可以對HTTP(暫不支持HTTPS)請求做攔截,並修改請求信息。 只會攔截POST請求及部分非GET請求,對一些JS、CSS等靜態資源請求不會攔截。

原理就是監聽本地端口,瀏覽器設置好到本地端口的代理,然后程序會對某些請求進行攔截,並進入等待狀態,直到收到了釋放信號。

命令:

  • start:
    • start 進入抓包攔截狀態
  • exit:
    • exit 退出程序
  • release:
    • release 釋放所有請求
  • list:
    • list request 列出當前攔截的所有請求及對應ID
    • list header -id reqId 列出某個請求的所有Header
  • get:
    • get header -id reqId -h key 獲取某個請求的某個Header
    • get param -id reqId -p key 獲取某個請求的某個參數(GET&POST)
    • get cookie -id reqId [-c key] 獲取某個請求的Cookie,不提供-c則獲取所有Cookie
    • get body -id reqId 獲取某個請求的Body,僅對POST請求有效
  • set:
    • set header -id reqId -v k=v 設置某個請求的某個Header
    • set get-param -id reqId -v k=v 設置某個請求的GET參數
    • set post-param -id reqId -v k=v 設置某個請求的POST參數,僅對表單請求有效
    • set cookie -id reqId -v val 設置某個請求的Cookie
    • set body -id reqId -v val 設置某個請求的Body,僅對POST請求有效,可用於修改json

演示:

瀏覽器需要先設置代理,如 localhost:8888

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM