goreplay 使用教程

ckshop發表於2018-01-14

goreplay 是一個可以抓包和重放包的工具,好用的很.

首先下載 點我下載

抓包

  1. 抓取指定埠的包
./goreplay --input-raw :8000 --output-stdout
抓取8000的包, 並將請求列印到控制檯
複製程式碼
  1. 抓取響應包

預設沒有將響應包也一起抓取,可以使用--input-raw-track-response 抓取響應包

./goreplay --input-raw :8000 --input-raw-track-response--input-raw-track-response --output-stdout
複製程式碼
  1. 新增ip地址 經過goreplay重發之後, 伺服器端就拿不到原來的ip地址,可以使用 --input-raw-realip-header 來新增ip地址
./goreplay --input-raw :8000 --input-raw-realip-header "X-Real-IP" ...
複製程式碼
  1. 請求過濾 抓取指定埠的包,可能內容比較多,這時候可以使用請求過濾功能
正規表示式過濾,只允許
goreplay --input-raw :8080 --output-http staging.com --http-allow-url /api
複製程式碼
正規表示式過濾,禁止
goreplay --input-raw :8080 --output-http staging.com  --http-disallow-url /api
複製程式碼

基於header的正規表示式過濾

# only forward requests with an api version of 1.0x
goreplay --input-raw :8080 --output-http staging.com --http-allow-header api-version:^1\.0\d

# only forward requests NOT containing User-Agent header value "Replayed by Gor"
goreplay --input-raw :8080 --output-http staging.com --http-disallow-header "User-Agent: Replayed by Gor"
複製程式碼

基於http 方法的過濾

goreplay --input-raw :80 --output-http "http://staging.server" \
    --http-allow-method GET \
    --http-allow-method OPTIONS
複製程式碼

相關文章