
Web UIを備えたクロスプラットフォームのHTTPスニファー
Netgraph は、すべての HTTP リクエスト/レスポンスをキャプチャし、Web ページに表示するパケットスニファーツールです。

デスクトップ環境がインストールされていない Linux サーバー上で Netgraph を実行し、ノート PC のブラウザで HTTP リクエスト/レスポンスを監視できます。
1. go get github.com/ga0/netgraph
2. $GOPATH/bin/netgraph -i INTERFACE -p PORT を実行
3. ブラウザで netgraph の Web ページを開く (例: http://localhost:9000、9000 は手順 2 で設定した PORT)
Windows ユーザーは先に winpcap ライブラリをインストールする必要があります。
-bpf string
berkeley packet filter を設定 (デフォルト "tcp port 80")
-i string
インターフェースで待ち受け、インターフェースが指定されない場合は自動的に 1 つ選択
-input-pcap string
pcap ファイルを開く
-o string
HTTP リクエスト/レスポンスをファイルに書き込む、"stdout" を設定するとコンソールに出力
-output-pcap string
キャプチャしたパケットを pcap ファイルに書き込む
-output-request-only
HTTP リクエストのみをファイルに書き込み、レスポンスは破棄する。オプション "-o" が指定されている場合にのみ使用。(デフォルト true)
-p int
Web サーバーのポート。ポートを '0' に設定すると、サーバーは実行されない。(デフォルト 9000)
-s HTTP イベントをサーバーに保存
-v 詳細メッセージを表示 (デフォルト true)
例: キャプチャしたリクエストを stdout に出力:
$ ./netgraph -i en0 -o=stdout
2018/07/26 10:33:24 open live on device "en0", bpf "tcp port 80"
[2018-07-26 10:33:34.873] #0 Request 192.168.1.50:60448->93.184.216.34:80
GET / HTTP/1.1
Host: www.example.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7
content(0)