Suricata

An intrusion detection and prevention engine (IDS/IPS) that matches network traffic against rules and records suspicious activity as alerts.

cat suricata/meta.ymlChecked on 2026-10-24

Safety

Impact Reaches othersSees other people's traffic or sends traffic to their devices
Admin rights
Required
Test lab
Not required

Usage

Purpose
Defense
Difficulty
Intermediate
Type
Self-hosted server
Platforms
Linux / Windows / macOS

Trust

Repository
OISF/suricata
License
CopyleftGPL-2.0
GitHub
stars6,7732026-10-25
Maintenance
Actively updatedLast update 2026-10-23
CategoryNetwork
Contents
  1. Introduction
  2. What Suricata is for
  3. IDS mode and IPS mode
  4. Try it safely on a test Ubuntu machine
  5. Get and manage rules
  6. Common command line options
  7. Cautions
  8. Read next
  9. Sources

Suricata matches the traffic on a network against rules and records an alert when it finds something suspicious. It is open source software developed by the non-profit OISF, and with a different setup it can also block traffic.

This review is for people who have read packets in Wireshark and now want to try something that watches traffic automatically. After reading it, you can do the following:

  • Install Suricata on a test Ubuntu machine and fetch rules
  • Trigger an alert with a test rule and read the logs
  • Explain the difference between IDS mode and IPS mode

What Suricata is for

The official documentation describes Suricata as a network IDS, IPS, and network security monitoring (NSM) engine.

  • It matches traffic against rules and records matches as alerts
  • It writes results to fast.log (one line per alert) and eve.json (detailed records in JSON)
  • It can read saved pcap files and inspect them later
  • In IPS mode, it can block traffic that matches rules
What it doesn’t doSuricata doesn’t find attacks that its rules don’t describe. What counts as suspicious depends on the rules, so fetching and updating them is essential. Suricata also only inspects traffic. It doesn’t send scans or attacks to other machines.

IDS mode and IPS mode

IDS mode IPS mode
Placement Receives a copy of the traffic and inspects it Sits in the path of the traffic (inline)
When a rule matches Records an alert only Can block traffic with drop or reject rules
When TCP data is inspected After the acknowledgement (ACK) is received As soon as new data arrives
If something goes wrong Attacks may be missed Legitimate traffic may be blocked

To run IPS mode on Linux, for example, you send traffic to NFQUEUE with iptables and start Suricata with the -q option and a queue number. The steps in this review cover IDS mode only.

Try it safely on a test Ubuntu machine

Use a virtual machine you built yourself and inspect only that machine’s own traffic. These steps follow the official quickstart.

  1. Add the official PPA and install Suricata and jq, a tool for reading JSON.

    sudo add-apt-repository ppa:oisf/suricata-stable
    sudo apt update
    sudo apt install suricata jq
  2. Run ip addr to find the network interface name and IP address.

  3. Open /etc/suricata/suricata.yaml and check that HOME_NET includes your network. Set interface in the af-packet section to the name you found in step 2.

  4. Run sudo suricata-update to fetch rules. By default, it installs the ET Open ruleset in /var/lib/suricata/rules.

  5. Restart Suricata with sudo systemctl restart suricata.

  6. In another terminal, run sudo tail -f /var/log/suricata/fast.log. Then run curl http://testmynids.org/uid/index.html. This URL returns a response that matches a test rule in ET Open (sid 2100498).

  7. If an alert line appears in fast.log, detection is working.

Get and manage rules

Use suricata-update, which ships with Suricata, to fetch and update rules.

Command What it does
sudo suricata-update Fetches or updates ET Open
sudo suricata-update update-sources Fetches the index of available rulesets
sudo suricata-update list-sources Lists the available rulesets
sudo suricata-update enable-source oisf/trafficid Enables another ruleset (here, OISF’s TrafficID)

The official docs recommend updating rules often. You can also add rules you write yourself as a rule file.

Common command line options

Option Meaning
-c <file> Use this configuration file
-i <interface> Inspect traffic on this interface
-r <path> Read and inspect a pcap file, or the files in a directory
-l <directory> Write logs to this directory
-q <queue id> Run inline using NFQUEUE (IPS)

With -r, you can inspect pcap files you recorded yourself in Wireshark.

Cautions

  • Only inspect networks you manage or have the administrator’s permission to monitor. Suricata reads the contents of traffic, so don’t inspect other people’s traffic without permission.
  • Logs such as eve.json contain destinations and parts of the traffic. Check the contents before you share them.
  • IPS mode sits in the path of the traffic, so a wrong setting or rule can block traffic you need. Watch for false positives in IDS mode before you switch.
  • The official site offers a 64-bit installer for Windows. On macOS, you build from source.

Sources

  1. Docs: What is Suricatadocs.suricata.io/en/suricata-8.0.7/what-is-suricata.html
  2. Docs: Quickstart guidedocs.suricata.io/en/suricata-8.0.7/quickstart.html
  3. Docs: Rule Management with Suricata-Updatedocs.suricata.io/en/suricata-8.0.7/rule-management/suricata-update.html
  4. Docs: IPS Conceptdocs.suricata.io/en/suricata-8.0.7/ips/ips-concept.html
  5. Docs: Setting up IPS/inline for Linuxdocs.suricata.io/en/suricata-8.0.7/ips/setting-up-ipsinline-for-linux.html
  6. Docs: Command Line Optionsdocs.suricata.io/en/suricata-8.0.7/command-line-options.html
  7. Official site: Downloadsuricata.io/download/

Checked on 2026-10-24

Similar tools

Wazuh

Impact Local only
wazuh/wazuh

A free security platform (SIEM/XDR) that collects logs, configuration, and vulnerability data from agents on your endpoints and shows it all in one dashboard.

Purpose
Defense
Type
Self-hosted server
Difficulty
Advanced
License
CopyleftGPL-2.0(一部の構成要素は Apache-2.0)
Category
Vulnerability scanning / Forensics
Actively updatedstars17,410Last update 2026-10-24
Read the Wazuh review

Wireshark

Impact Reaches others
wireshark/wireshark

A packet analyzer that records network traffic and breaks each packet down by protocol so you can read it.

Purpose
Learning
Type
Desktop app
Difficulty
Beginner
License
CopyleftGPL-2.0
Category
Network / Forensics
Actively updatedstars10,082Last update 2026-10-25
Read the Wireshark review