загрузка данных подключения zeek в pyflink

#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}