tshark -ek cria chaves duplicadas que o elasticsearch 6.0 não aceita

1

Eu tento inserir um arquivo pcap no elasticsearch. Então eu primeiro converto o arquivo pcap para json assim:

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

Então eu quero carregá-lo no elasticsearch assim:

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

Mas isso falha com muitos erros dizendo que há campos duplicados no json. Eu li que o elasticsearch 6.0 não aceita mais chaves duplicadas. Eu verifiquei e meu arquivo json não contém muitas chaves duplicadas. Mas eu li isso

tshark -T ek

deve se duplicar e a opção --no-duplicate-keys parece ter ido (minha versão tshark é 2.2.6).

Então, como faço para obter meus dados pcap no elasticsearch?

    
por frank 22.11.2017 / 09:19

2 respostas

0

Alimente os dados a qualquer outro analisador JSON (e depois retorne ao JSON). A maioria dos analisadores tem a opção de ignorar silenciosamente os campos duplicados, mantendo o primeiro ou o último.

Por exemplo, as ferramentas de linha de comando jq ou jshon podem ser usadas:

$ echo '{"foo": "111", "bar": "222", "foo": "333"}' | jq .
{"foo": "333", "bar": "222"}
    
por 22.11.2017 / 10:38
0

Eu tive o mesmo problema. Aparentemente, o mais novo release de desenvolvimento (2.5.1) corrige isso. Se você está no Windows, é muito fácil: basta baixar o instalador do link e instalá-lo. Se você está no Linux como eu, você tem que baixar o código-fonte de lá e construir o wireshark a partir da fonte. Para fazer isso, descobri que essas fontes são úteis: link

link

    
por 13.04.2018 / 12:41