An organization deploys AMP for Endpoints with the Orbital module to perform advanced endpoint telemetry. The team wants to create a query that retrieves all running processes with a network connection to an external IP address. Which Orbital query language syntax is correct?
This correctly uses the 'all_processes' table with a subquery on 'connections' to filter processes with outgoing remote connections.
Why this answer
The Orbital query language uses SQL-like syntax, and the correct way to retrieve all running processes with a network connection to an external IP address is to join the `all_processes` table with the `connections` table, filtering for outbound connections (`direction = 'OUT'`) and checking that the `remote_ip` is not a private IP (though the query as written uses a subquery to get IPs from outbound connections). This directly matches the requirement of processes with external network connections.
Exam trap
Cisco often tests the distinction between listening (inbound) and outbound connections, and candidates mistakenly choose options that filter for listening processes or use non-existent columns/table names, assuming a simpler boolean flag exists instead of understanding the relational join required.
How to eliminate wrong answers
Option A is wrong because `ip = 'external'` is not valid Orbital syntax; there is no literal string 'external' for IP addresses, and the `all_processes` table does not have an `ip` column—it uses `remote_ip` and `local_ip`. Option B is wrong because `listening = 'true'` retrieves processes that are listening for inbound connections, not processes with outbound network connections to external IPs. Option C is wrong because `processes` is not a valid table name in Orbital (the correct table is `all_processes`), and `network_connection = 'true'` is not a valid column or filter; Orbital does not have a boolean column indicating whether a process has a network connection.