#json #pyflink #zeek
Вопрос:
Пытаюсь загрузить такие данные(данные подключения zeek) в pyflink. Моя проблема заключается в полях идентификаторов, которые имеют имя с точкой, потому что изначально они были кортежем в zeek.
{
"ts": 1584544201.798601,
"uid": "CSgDnESdxqqAN88H3",
"id.orig_h": "172.24.41.32",
"id.orig_p": 64078,
"id.resp_h": "255.255.255.255",
"id.resp_p": 34329,
"proto": "udp",
"conn_state": "S0",
"missed_bytes": 0,
"history": "D",
"orig_pkts": 1,
"orig_ip_bytes": 542,
"resp_pkts": 0,
"resp_ip_bytes": 0
}
Я был бы признателен за любую помощь в том, как это сделать.
Комментарии:
1. Почему это проблема?
Ответ №1:
Бен, ты можешь изменить эту точку в структуре ведения журнала Зика, если она будет мешать. Это называется «разделитель областей». Попробуйте сделать это в своем локальном файле.zeek или другом загружаемом скрипте:
redef Log::default_scope_sep="_";
Вы также можете сделать это в командной строке. Например, если я скажу
$ zeek -r test.pcap Log::default_scope_sep=_ LogAscii::use_json=T
тогда я получаю:
{"ts":1117503119.471231,"uid":"C5mZTXjAFggDiLb1b","id_orig_h":"192.150.186.238","id_orig_p":42762,"id_resp_h":"66.35.250.209","id_resp_p":80,"proto":"tcp","service":"http","duration":6.483856916427612,"orig_bytes":377,"resp_bytes":10041,"conn_state":"SF","missed_bytes":0,"history":"ShADadfF","orig_pkts":11,"orig_ip_bytes":957,"resp_pkts":10,"resp_ip_bytes":10569}