web-dev-qa-db-ja.com

Wiresharkでhttpトラフィックをフィルタリングする方法

私のサーバーにはクライアントからのHTTPリクエストが大量にあると思います。 httpトラフィックの量を測定したい。 Wiresharkでどうすればよいですか?または、おそらく別のツールを使用した代替ソリューションがありますか?

これは、Wiresharkで単一のhttp要求/応答トラフィックがどのように見えるかです。 pingはWinAPI関数によって生成されます:: InternetCheckConnection() alt text http://yowindow.com/shared/ping.png

ありがとう!

89
par

Pingパケットは、8(エコー)または0(エコー応答)のICMPタイプを使用する必要があるため、次のキャプチャフィルターを使用できます。

icmp

次の表示フィルター:

icmp.type == 8 || icmp.type == 0

HTTPの場合、次のキャプチャフィルターを使用できます。

tcp port 80

または次の表示フィルター:

tcp.port == 80

または:

http

httpのフィルターは、ハンドシェイクと終了パケットを含む他の2つと同等ではないことに注意してください。

データ量ではなく接続数を測定する場合は、キャプチャまたは表示フィルターを通信の片側に制限できます。たとえば、ポート80に送信されたパケットのみをキャプチャするには、次のコマンドを使用します。

dst tcp port 80 

これをhttp表示フィルターと組み合わせるか、以下を使用します。

tcp.dstport == 80 && http

キャプチャフィルターの詳細については、Wiresharkユーザーガイドの「 キャプチャ中のフィルタリング 」、Wiresharkウィキの キャプチャフィルター ページ、または pcap-filter( 7) manページ。表示フィルターについては、Wireshark wikiの display filters ページを試してください。 "フィルター式"ダイアログボックス は、表示フィルターの作成に役立ちます。

73
outis

このようにDisplayFilter httpを使用するだけです。

display filter example

19
R. Oosterholt

Pingではありません。 pingは、すでに said by outisと同様に、ICMPエコー要求です。トレースには、HTTP接続の確立と即時終了が表示されます。これがInternetCheckConnection()が行うことです。問題のIP 77.222.43.228は http://repkasoft.com/ に解決されます。これは、おそらくInternetCheckConnection()に渡すURLです。

キャプチャまたはディスプレイフィルターを使用して、このIPでトラフィックをフィルタリングできますHost == 77.222.43.228

7
atzz

Wireshark 1.2+を使用して、このバッチファイルを実行します。

:: Script to save a wireshark trace
:: tshark -D to get interface id
@echo off
C:
cd C:\Temp\NetTracing
set PATH=%PATH%;C:\Program Files\Wireshark
echo Tracing Host 127.1 or 172.1.1.1 or 10.0.0.1

tshark.exe -i 4 -a duration:900 -S -f "tcp port 80" -w trace.cap
2
djangofan