How to Search in VMDR
Search by Field | Search without Field | String matching | Exact matching | Full text search | Suffix matching | Prefix matching | Is Null queries | Range searches | Date searches | Multiple values (In, Not In) | Boolean operators | Nested queries | Query limits
Search by Field
Enter the field name, then a colon, then your query. Nested fields are dot-separated.
Examples:
openPorts.port: 80
accounts.username: administrator
operatingSystem: win*
Search without Field
When your query doesn’t have a field name, we perform the broadest possible search across the attributes of all fields included in the Asset Index (100+ field names).
The Asset Index does not include some fields like tag name and vulnerability title. For these fields, you need to search by field name.
- How it works:- A search for `win` without a field name will return assets where `win` appears in the asset name, hostname, operating system, software name, and so on.
- Syntax help:- Use single quotes or double quotes around your query to match a string. Using wildcards, you can perform prefix matching or suffix matching.
String Matching
Use single or double quotes around your query to match a string with more than one word. Note that interfaces.address and software.version are text fields and support string matching.
Examples:
tags.name: "Cloud Agent"
operatingSystem: 'Microsoft Windows'
interfaces.address: 10.10.10.10
software.version: 2.1.7
vulnerabilities.vulnerability.title: "Remote Code Execution Vulnerability"
- If you want to search for the exact count, use an asterisk (*). Find asset names starting with WINDOWS2008 use:
name:WINDOWS2008*
Wildcards can only be used for prefix and suffix matching. We do not support sub-string wildcards, which means you cannot search for a string in the middle of another string.
Exact Matching
Use backticks to exactly match a string. Your results will include any asset with the EXACT value returned.
Examples:
operatingSystem:`Windows 7 Ultimate Service Pack 1`
interfaces.hostname:`xpsp2-jp-26-111`
Full-Text Search
Many asset fields containing text allow you to use full-text and advanced search capabilities. We'll perform the broadest search if your query does not include single or double quotes.
Examples:
- Show any findings related to this title
vulnerabilities.vulnerability.title: Remote Code Execution
- Show any findings that contain "Remote" or "Code" in title
vulnerabilities.vulnerability.title: "Remote Code"
- Show any findings that match the exact value of "Remote Code."
vulnerabilities.vulnerability.title: `Remote Code`
- Show any findings that match the nested query. Both sub-fields must match for an asset to be returned.
vulnerabilities.vulnerability: (title: `Remote Code` AND patchAvailable: "true")
Suffix matching
Suffix matching is supported when searching assets on your Assets list for the fields "name", "tags.name" and "netbiosName". Match asset values "ending in" a string you specify - using a string that starts with *. Matches are case-insensitive.
Examples:
- This query matches assets with an asset name ending in "53," like QKxxxxP3-65-53.
name:*53
- This query matches assets with tag names ending in "region east," like Region East, a region east, or Region EAST.
tags.name:*Region East
Suffix matching is also supported for the field "interfaces.hostname," but the syntax differs.
Example:
- These queries match assets with the hostname "com-pa3xxx-36.xxx.xxx.qualys.com".
interfaces.hostname:qualys.com
interfaces.hostname:xxx01.qualys.co
interfaces.hostname:eng.xxx01.qualys.co
interfaces.hostname:*lys.com
Prefix matching
Prefix matching is supported when searching assets (on your Assets list) using specific text fields. Match asset values "starting with" a string you specify - using a string that ends with *. Matches are case-sensitive.
Examples:
- This query matches assets with an asset name starting with "xp" like xpsp2-jp-26-111.
name:xp*
- This query matches assets with tag names starting with "Win," like Windows XP, Windows 2012, and Windows Hosts.
tags.name:Win*
- This query matches assets with a hostname starting with "com-pa30" like com-pa3xxx-36.xxx.xxx01.qualys.com.
interfaces.hostname:com-pa30*
- This query matches assets with an operating system starting with "Lin" like Linux 2.4-2.6.
operatingSystem:Lin*
Is Null Queries
Want to match an empty/null value for a field? You must remove the colon and then write "is null." For example, quickly find assets where the OS has not been identified.
Examples:
operatingSystem is null
interfaces.macAddress is null
Range searches
Ranges can be specified with the [lower .. upper]
syntax using () and/or [] as follows. This is supported for numeric and date fields.
interfaces.address and software.version are text fields and not numeric fields). You cannot perform range searches for these. See String matching to search text fields.
Examples:
- Greater than but not equal to 123 and less than but not equal to 1234.
openPorts.port:(123 .. 1234)
- Greater than but not equal to 123 and less than or equal to 1234.
openPorts.port:(123 .. 1234]
- Greater than or equal to 123 and less than but not equal to 1234.
openPorts.port:[123 .. 1234
- Greater than but or equal to 123 and less than or equal to 1234.
openPorts.port:[123 .. 1234
- Greater than 123.
openPorts.port > 123
- Greater than or equal to 123.
openPorts.port >= 123
- Less than 1234.
openPorts.port < 1234
- Less than or equal to 1234.
openPorts.port <= 1234
- Between January 1st and April 1st 2018.
vulnerabilities.firstFound: [2018-01-01 .. 2018-04-01
Date Searches
Use a date range [start date .. end date] or a specific date. Several date variables are also available.
Examples:
updated:"2018-11-20"
updated <= "2018-10-20"
updated:["2018-11-20" .. "2018-11-24"]
updated:[now-3d .. now-1s]
Multiple values (In)
Use to match values "In" fields. You'll include a comma-separated list of values within square brackets. Available for all fields except analyzed fields (i.e. full-text search fields). Values must match exactly. Matches are case-sensitive.
Examples:
- Find all assets with an operating system value that exactly matches one listed:
operatingSystem:["Cisco IOS Version 12.4(19)","Windows Server 2003 Service Pack 2",Windows]
- Find all assets with a name value that matches exactly:
name:[MACMINI-ACA70B,2k8r2-u-10-11,10.10.10.43]
- Find all assets with an asset ID value that matches exactly:
assetId:[5301908,10233,2345]
- Find all assets with at least one of the CVE IDs listed:
vulnerabilities.vulnerability.cveIds:[CVE-2003-0818,CVE-2002-0126,CVE-1999-1058]
- Supported date formats:
- YYYY example: [
"2017", "2018"]
- YYYY-MM example:
["2018-08","2018-09"]
- YYYY-MM-DD example:
["2018-08-31","2018-08-30"]
- YYYY example: [
- Analyzed fields (i.e. full-text search fields) are not supported, such as:
vulnerabilities.vulnerability.description
vulnerabilities.vulnerability.solution
vulnerabilities.vulnerability.consequence
Boolean Operators
Use keywords AND, OR, NOT to narrow or broaden your search. Click Learn more for information on maximum query depth.
Examples:
activatedForModules:"TRUE" AND NOT agentActivations.status:"INACTIVE"
(operatingSystem: windows OR operatingSystem: linux) AND (openPorts.port: 80 OR openPorts.port: 8080) NOT operatingSystem: windows
The NOT operator can be used only with Asset search tokens. Vulnerability search tokens do not support the NOT operator.
Nested Queries
Use a single nested query, using parentheses, to include multiple fields in your query per the examples below.
Examples
- Show findings having vulnerabilities with a patch available and that require Windows authentication
vulnerabilities.vulnerability:(patchAvailable:"TRUE" AND authTypes:"WINDOWS_AUTH")
- Find assets on port 80 and TCP
openPorts:(port:80 AND protocol:TCP)
- Find assets that have Windows Time service that is running
service:(name:Windows Time AND status: running)
Query Limits
- Maximum query length allowed: 4096 characters
- Maximum field value length allowed: 256 characters
- Good to know:
- If your query exceeds a limit, an error message is shown, and you won't get search results.
- These query limits apply to queries created using these apps: AV, TP, CA, and VM dashboard.
- Spaces in between characters are counted as characters.