tshark -ekは、elasticsearch 6.0が受け入れない重複キーを作成します


1

elasticsearchにpcapファイルを入力しようとしました。そこで、最初に次のようにpcapファイルをjsonに変換します。

tshark -T ek -j "http tcp ip" -x -r file.pcap > file.json

次に、このようにelasticsearchにロードしたいです:

curl -H "Content-Type: application/json" -XPOST 'localhost:9200/_bulk?pretty' --data-binary "@file.json"

しかし、これは、jsonに重複フィールドがあるという多くのエラーで失敗します。elasticsearch 6.0は重複キーを受け入れなくなりました。私がチェックし、私のjsonファイルには多くの重複キーが含まれています。しかし、私はそれを読みました

tshark -T ek

はそれ自体を重複排除することになっており、オプション--no-duplicate-keysはなくなったようです(私のtsharkバージョンは2.2.6です)。

pcapデータをelasticsearchに取り込むにはどうすればよいですか?

回答:


1

同じ問題がありました。どうやら最新の開発リリース(2.5.1)がこれを修正しています。Windowsを使用している場合は非常に簡単です。インストーラーをhttps://www.wireshark.org/download.htmlからダウンロードしてインストールするだけです。私としてLinuxを使用している場合は、そこからソースコードをダウンロードし、ソースからwiresharkをビルドする必要があります。そのためには、これらのソースが役立つことがわかりました:https : //scottlinux.com/2013/06/07/how-to-install-the-latest-wireshark-from-source-on-debian-or-ubuntu-linux /

https://www.wireshark.org/docs/wsug_html_chunked/ChBuildInstallUnixBuild.html


0

データを他のJSONパーサーにフィードします(そして、JSONにダンプします)。ほとんどのパーサーには、最初または最後のフィールドを保持して、重複するフィールドを静かに無視するオプションがあります。

たとえば、コマンドラインツールjqまたはjshon使用できます。

$ echo '{"foo": "111", "bar": "222", "foo": "333"}' | jq .
{"foo": "333", "bar": "222"}

このアドバイスに感謝しますが、これはそれを行うための「適切な」方法がないことを意味します。つまり、tshark -T ekの出力は単に使用できませんか?
フランク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.