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