2

コマンドラインベースのWiresharkであるTShark用のフィルタを作成しようとしています。これらのオプションをコマンドに追加したい:

-i 2 (interface with index n°2)
-a duration:60 (the "scan" should last 60 seconds)
-v (print the result and exit)
-x (print an ASCII dump in the file)

そして、これらの特殊性を持つパケットのみをキャプチャするフィルター:

"ip" (only IP packets)
"ip.src == 192.168.0.1" (source IP adress should be 192.168.0.1)
"ip.dst == 111.222.111.222" (destination IP adress should be 111.222.111.222)
"port == 80 or port == 443" (port should be http or https)
"http.request.method == 'GET'" (it should be a GET request)

そして、結果をファイル「test.txt」に保存したいと思います。したがって、最終的なコマンドは次のようになります。

tshark -i 2 -a duration:60 -vx -f "ip" && "ip.src == 192.168.0.1" && "ip.dst == 111.222.111.222" && "port == 80 or port == 443" && "http.request.method == 'GET'" > test.txt

'"ip.src == 192.168.0.1"しかし、Windows から、認識された内部コマンドまたは外部コマンドではないというエラー メッセージが表示され続けます。スペースを入れて、スペースを入れずに...などを試しましたが、この作業を行う方法がわかりません。

問題はおそらく、条件を「連鎖」する方法に起因します。

  • また、現在のキャプチャを停止するが、結果を .txt ファイルに保存する何らかの「実行停止」コマンドがあるかどうかを尋ねたいと思いました。
4

3 に答える 3

1

これらの特殊性を持つパケットのみをキャプチャするフィルター

...

「http.request.method == 'GET'」 (GET リクエストである必要があります)

その最後の部分は、キャプチャフィルターで行うのが非常に困難です。それを避けることができれば、残りはキャプチャ フィルタを使用して比較的簡単に行うことができます。

"ip src 192.168.0.1 && ip dst 111.222.111.222 && (tcp port 80 or tcp port == 443)"

*shark フィルター全体を読み取りフィルターとして使用できる場合があります

-r "ip && ip.src == 192.168.0.1 && ip.dst == 111.222.111.222 && (tcp.port == 80 or tcp.port == 443) && http.request.method == 'GET'"

tcp.port(だけでなく、であることに注意してくださいport)。

ただし、HTTP-over-SSL/TLS の場合、リクエストが暗号化されている場合は、 がhttp.request.method == 'GET'機能するために暗号化を解除する必要があることに注意してください。

(「or」句を囲む括弧は必要ないかもしれませんが、式の意味をより明確にするためだけに括弧を使用することをお勧めします。)

于 2013-08-06T18:24:08.567 に答える
0

tshark-fオプションは、Wireshark 表示フィルタではなく、キャプチャ フィルタを使用します。これはlibpcap構文と同じです。

于 2012-04-24T12:22:19.377 に答える