IP Resolve Enricher & Expression
IP Resolve obohacuje událost o kanonické hostitelské jméno a/nebo IP na základě buď IP adresy A sítě/prostoru, nebo libovolného hostitelského jména A sítě připojené k IP adrese ve vyhledávání.
ID vyhledávání IP Resolve musí obsahovat následující podřetězec: ip_resolve
Záznam vyhledávání má následující strukturu:
klíč: [IP, síť]
hodnota: {
"hostnames": [
canonical_hostname,
hostname2,
hostname3
...
]
}
Příklad
Deklarace #1 - Obohacovač
---
define:
name: IPResolve
typ: enricher/ipresolve
lookup: lmio_ip_resolve # nepovinné
source:
- ip_addr_and_network_try1
- ip_addr_and_network_try2
- hostname_and_network_try3
- [!IP.PARSE ip4, !ITEM EVENT network4]
...
ip: ip_addr_try1
hostname: host_name
Deklarace #2 - Výraz
!IP.RESOLVE
zdroj:
- ip_addr_and_network_try1
- ip_addr_and_network_try2
- hostname_and_network_try3
- [!IP.PARSE ip4, !ITEM EVENT network4]
...
ip: ip_addr_try1
hostname: host_name
with: !EVENT
lookup: lmio_ip_resolve # nepovinné
Input
Feb 5 10:50:01 0:0:0:0:0:ffff:1f1f:e001 %ASA-1-105043 test
Výstup
{
'rt': 1580899801.0,
'msg': 'test',
'ip_addr_try1': 281471203926017,
'host_name': 'my_hostname'
}
Sekce define
Tato sekce definuje název a typ obohacovače,
který je v případě IP Resolve vždy enricher/ipresolve
.
Položka name
Kratší lidsky čitelný název této deklarace.
Položka type
Typ této deklarace, musí být enricher/ipresolve
.
Sekce source
Zadejte seznam atributů, které se mají vyhledat. Každý atribut by měl být v následujícím formátu:
[IP, síť]
[hostname, network]
Pokud není síť zadána, použije se global
.
První úspěšné vyhledávání vrátí výstupní hodnoty (ip
, hostname
).
Sekce ip
Zadejte atribut, do kterého se uloží vyhledaná IP adresa.
Sekce hostname
Zadejte atribut, do kterého se uloží vyhledané kanonické jméno hostitele.
Kanonické hostitelské jméno je první v hodnotě hostnames
vyhledávání.
Načtení vyhledávání ze souboru
Data vyhledávání IP Resolve lze načíst ze souboru pomocí nástroje LogMan.io Collector
input:FileBlock
.
Data jsou tedy k dispozici v LogMan.io Parseru, kde by měla být
odeslány do cíle lookup
. Do tématu input
tedy lookup nevstoupí,
ale do tématu lookups
, odkud bude zpracován.
LogMan.io Watcher, aby aktualizoval data v ElasticSearch.
LogMan.io Watcher očekává následující formát události:
{
'action': 'full',
'data': {
"items": [{
'_id': [!IP.PARSE 'MyIP', 'MyNetwork'],
'hostnames': ['canonical_hostname', 'short_hostname', 'another_short_hostname']
}
]
},
"lookup_id": "customer_ip_resolve
}
kde action
se rovná full
znamená, že stávající obsah vyhledávání by měl být
nahrazen položkami items
v data
Pro vytvoření této struktury použijte následující deklarativní příklad Kaskádový parser:
---
define:
název: Demo parseru IPResolve
typ: parser/cascade
target: lookup
parse:
!DICT
set:
action: full
lookup_id:
!JOIN
items:
- !ITEM CONTEXT filename
- ip_resolve
oddělovač: "_
data:
!DICT
set:
položky:
!FOR
each:
!REGEX.SPLIT
co: !EVENT
regex: "\n
do:
!FIRST
- !CONTEXT.SET
set:
_temp:
!REGEX.SPLIT
co: !ARG
regex: ';'
- !DICT
set:
_id:
- !IP.PARSE
value: !ITEM CONTEXT _temp.0
- MyNetworkOrSpace
hostnames:
!LIST
append:
- !ITEM CONTEXT _temp.1
- !ITEM CONTEXT _temp.2