For the complete documentation index, see llms.txt. This page is also available as Markdown.

Traffic Capture Settings

The tap section in your Qtap configuration controls what traffic is processed. This section provides fine-grained control over which network connections to monitor, what traffic to include or exclude, and how to apply different processing stacks to specific domains.

Basic Configuration

Here's the structure of a basic tap configuration:

tap:
  direction: egress
  ignore_loopback: false
  audit_include_dns: true
  http:
    stack: default_stack

Traffic Direction Settings

The direction parameter controls which traffic flows Qtap captures:

Option
Description

egress

Captures all outgoing traffic (both internal and external)

egress-external

Only captures traffic to external networks

egress-internal

Only captures traffic to internal networks

ingress

Only captures inbound traffic

all

Captures all traffic (inbound and outbound)

tap:
  direction: egress-external  # Only capture traffic going to external networks

Network Interface Settings

Loopback Traffic

The ignore_loopback parameter controls whether traffic on the loopback interface (localhost) is captured:

  • When set to true, traffic to addresses like 127.0.0.1 or localhost is ignored

  • When set to false, local traffic is included in capture

DNS Traffic

The audit_include_dns parameter controls whether DNS queries are captured:

This is useful for:

  • Troubleshooting DNS resolution issues

  • Tracking which domains your applications are trying to reach

  • Identifying potential DNS-based data exfiltration

Process Filtering

The filters section allows you to control which processes Qtap monitors:

Predefined Process Groups

The groups parameter allows you to ignore specific types of processes:

Group
Description

kubernetes

Standard Kubernetes processes

container

Container runtime processes

gke

Google Kubernetes Engine processes

eks

Amazon Elastic Kubernetes Service processes

qpoint

Qpoint's own processes (prevents self-monitoring)

When a group is included in the list, traffic from those processes is ignored.

Custom Process Filters

The custom parameter allows you to define specific processes to ignore:

Each entry requires:

  • exe: The executable path

  • strategy: Matching strategy, which can be:

    • exact: Exact path match

    • prefix: Path prefix match

    • regex: Regular expression match

Strategy Examples

Exact Match - Blocks only the specific path:

  • Blocks: /usr/bin/curl

  • Does NOT block: /usr/local/bin/curl, /bin/curl, /opt/curl/bin/curl

Prefix Match - Blocks anything starting with the prefix:

  • Blocks: /usr/bin/curl, /usr/bin/wget, /usr/bin/python3

  • Does NOT block: /usr/local/bin/curl, /bin/sh

Regex Match - Blocks paths matching the regex pattern:

  • Blocks: /usr/bin/curl, /usr/local/bin/curl, /opt/my-curl-app/bin/app

  • Does NOT block: /usr/bin/wget, /usr/bin/python3

Common Use Cases

Development - Filter CLI tools to reduce noise:

Production - Filter system processes:

Container environments - Filter by container tools:

Multiple installations - Use regex to catch all variants:

Finding the correct path:

To determine what path Qtap sees for a process, check the logs:

Or find the path on your system:

Domain-Specific Rules

The endpoints section allows you to apply different processing stacks to specific domains or patterns:

Each endpoint entry consists of:

  • domain: The domain pattern to match (supports wildcards)

  • http.stack: The stack to apply for matching HTTP traffic

This allows you to:

  • Apply detailed logging to specific APIs

  • Handle sensitive traffic differently

  • Focus debugging efforts on problematic domains

Complete Example

Here's a comprehensive example that demonstrates all the main features:

This configuration:

  1. Captures all outgoing traffic (direction: egress)

  2. Ignores localhost traffic (ignore_loopback: true)

  3. Includes DNS queries in audit logs (audit_include_dns: true)

  4. Applies the default_stack to most HTTP traffic

  5. Ignores traffic from Kubernetes and Qpoint processes

  6. Ignores traffic from specific executables (wget, curl)

  7. Applies the debug_stack to all traffic to api.github.com and api.google.com domains

Last updated