Splunk Search

Wildcard in domain search

sp00l
New Member

I'm running a search that looks like this:

index=myindex domain=*mydomain* domain!=*.mydomain.com* domain !=mydomain.someotherdomain.com* , etc..

The purpose is to find domains that were visited containing the keyword 'mydomain' but exclude domains I already know about and trust. The issue that I am running into is that I still receive results containing any subdomain of mydomain, such as a.mydomain.com or apps.mydomain.com.

How can I filter out these results appropriately?

Tags (2)
0 Karma

somesoni2
Revered Legend

Try this

index=myindex domain=*.mydomain.* OR domain=mydomain.* | where NOT match(domain,"[\W*\.*]*mydomain.com")
0 Karma

sp00l
New Member

No, fakemydomain.com should not show up in the search result as it is another domain, not the on I am searching for (or a subdomain). It just shares the text 'mydomain'.

0 Karma

somesoni2
Revered Legend

In my understanding "fakemydomain.com" should come in the search result (not excluded by filters), isn't it?

0 Karma

linu1988
Champion

sample addresses please? It may be slow make a regex extract and match with exact value of MYDOMAIN.

0 Karma

sp00l
New Member

using "domain!=*mydomain.com" would also match results such as "fakemydomain.com", correct? That is one thing I'm trying to avoid.

0 Karma

martin_mueller
SplunkTrust
SplunkTrust

A word of warning, wildcards behave oddly when used around breaking characters such as periods. Some background: http://answers.splunk.com/answers/1263/the-asterisk-character-is-not-matching-all-characters-when-do...

somesoni2
Revered Legend

what about "domain!=*mydomain.com" ?

0 Karma

sp00l
New Member

Looks good now. Thank you, Martin.

0 Karma

martin_mueller
SplunkTrust
SplunkTrust

Prefix a search with a newline and four spaces to avoid Splunk Answers treating asterisks as formatting characters.

0 Karma

sp00l
New Member

Looks like my original post ate my wildcards, my query should have been index=myindex domain=*mydomain* domain!=*.mydomain.com* domain !=mydomain.someotherdomain.com* , etc..

So I am already using wildcards. I guess my main question at this point would be is there a better way to filter both mydomain.com and *.mydomain.com with a single filter? Currently it will keep mydomain.com results if I only specificy !=*.mydomain.com and vice versa.

0 Karma

somesoni2
Revered Legend

Use "*" as wildcard.

index=myindex domain=*mydomain* NOT (domain=*.mydomain.com OR domain=mydomain.*.com)

Also, provide example events for more accurate suggestions.

Get Updates on the Splunk Community!

Extending Observability Content to Splunk Cloud

Watch Now!   In this Extending Observability Content to Splunk Cloud Tech Talk, you'll see how to leverage ...

More Control Over Your Monitoring Costs with Archived Metrics!

What if there was a way you could keep all the metrics data you need while saving on storage costs?This is now ...

New in Observability Cloud - Explicit Bucket Histograms

Splunk introduces native support for histograms as a metric data type within Observability Cloud with Explicit ...