ネットワークインターフェイスからのHTTPリクエストをリアルタイムで監視しますか?

ネットワークインターフェイスからのHTTPリクエストをリアルタイムで監視しますか?

デバッグのために、ネットワークインタフェースで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に結合することができます。

おすすめ記事