How do we capture multiple URLs in a single event?
Log1:
type=EXECVE msg=audit(1695798790.101:25214323): argc=17 a1="http://127.0.0.1:8080" a2="http://10.0.2.20" a3="https://google.com/data/involvement/" a4=cat
Log2:
type=EXECVE msg=audit(1695798790.100:25214323): a2="https://facebook.com" a3="-o" a4="http://127.0.0.1/index.html" a5="-kis" a6="-x" a7="http://10.0.0.10:8080"
Currently I'm using below regex which captures only one URL,
| rex field=_raw ".*\"(?<URL>((http|https):\/\/(\S+|\d+\.\d+\.\d+\.\d+\S+)))\""
Need all the URLs in the output.
Try without the greedy match at the beginning
| rex max_match=0 field=_raw "\"(?<URL>((http|https):\/\/(\S+|\d+\.\d+\.\d+\.\d+\S+)))\""
I'm afraid, it still gives a single value output like this,
URL
Try without the greedy match at the beginning
| rex max_match=0 field=_raw "\"(?<URL>((http|https):\/\/(\S+|\d+\.\d+\.\d+\.\d+\S+)))\""
Fantastic! It worked. Thanks for the solution.
Try this
| rex max_match=0 field=_raw ".*\"(?<URL>((http|https):\/\/(\S+|\d+\.\d+\.\d+\.\d+\S+)))\""