デバッグのために、ネットワークインタフェースでhttpリクエストを監視したいと思います。
単純なtcpdump
コマンドラインを使用すると、低レベルの情報があまりにも多く得られ、必要な情報がはっきりと表現されません。
トラフィックをtcpdump
ファイルにダンプした後に使用する場合の欠点wireshark
は、すぐには発生しないことです。
私は次のツールの使用法を想像しています。
$ monitorhttp -ieth0 --only-get --just-urls
2011-01-23 20:00:01 GET http://foo.example.org/blah.js
2011-01-23 20:03:01 GET http://foo.example.org/bar.html
...
私はLinuxを使用しています。
ベストアンサー1
努力するtcpflow
:
tcpflow -p -c -i eth0 port 80 | grep -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*'
出力は次のとおりです。
GET /search?q=stack+exchange&btnI=I%27m+Feeling+Lucky HTTP/1.1
Host: www.google.com
明らかに、grepステートメントに別のHTTPメソッドを追加し、を使用してsed
これらの2行を完全なURLに結合することができます。