0

tsharkまたはwiresharkで処理された結果を取得し、Pythonで使用したいと思います.json形式は素晴らしいと思います。今私は使用します:

ssh root@ip tcpdump -i eth0 -w - | tshark -i - -Tjson

リモート システムからネットワーク パケットを取得するには、リモート システムに tcpdump しかないため、これ以上ソフトウェアをインストールできません。-w - stdout への出力を意味し、-i - stdin からの読み取りを意味します。これで、ターミナルで json の出力をリアルタイムで確認できますが、json オブジェクトを python で受け取って処理したいと思います。このコードを alpha.py に書いてみます:

import sys

for line in sys.stdin:
    print line

以下のコマンドを使用して出力を取得します。

ssh root@ip tcpdump -i eth0 -w - | tshark -i - -Tjson | python3 alpha.py

出力は次のようになります。

[
  {
    "_index": "packets-2019-04-30",
    "_type": "pcap_file",
    "_score": null,
    "_source": {
      "layers": {
        "frame": {
          "frame.encap_type": "1",
          "frame.time": "Jan  1, 1970 08:14:05.382776000 HKT",
          "frame.offset_shift": "0.000000000",
          "frame.time_epoch": "845.382776000",
          "frame.time_delta": "0.000000000",
          "frame.time_delta_displayed": "0.000000000",
          "frame.time_relative": "0.000000000",
          "frame.number": "1",
          "frame.len": "111",

ええ、すべての「行」は単なる出力印刷行ですが、完全な json 文字列ではありません。ちなみに、上記の出力は stdin からではなく、便宜上 .pcap ファイルから読み取られています。

tshark -r a.pcap -Tjson  | python3 alpha.py

今、私は混乱していますが、多くの人が私にアイデアを提供してくれました。もっと分かりやすくしたいと思いますので、投稿させていただきます。元の投稿はこちら: Wireshark で処理されたデータを Python に転送する方法は? どのような方法で?

@Ente https://stackoverflow.com/users/3215929/enteに感謝します

解決策を楽しみにしています。ありがとう。

4

0 に答える 0