Skip to content
Commitpedia
Log in Join & edit

Suricata: a network intrusion detection and prevention engine

Suricata inspects network traffic in real time, matches it against signature rules and protocol logic, and writes alerts and rich protocol logs. It can also sit inline and drop malicious packets.

Drafted with AI from official documentation. Scripts were run in a test environment and repository links verified. Awaiting a human check. Did it work for you? Last edited Outdated?

Edit history of Suricata: a network intrusion detection and prevention engine: 1 recorded edit
Edit history · 1 edit
Type
Repo
Edits
1
Editors
1
First issued
15 Oct 2026
Last edit
15 Oct 2026
Source
OISF/suricata

OISF/suricata

Stars
6.7k
Forks
1.8k
Language
C
Licence
GPL-2.0
Last push
9 Oct 2026

On GitHub: Suricata is a network Intrusion Detection System, Intrusion Prevention System and Network Security Monitoring engine developed by the OISF and the Suricata community.

Open on GitHub

Suricata (about 6,700 stars on GitHub) is a high performance network intrusion detection system (IDS), intrusion prevention system (IPS) and network security monitoring engine. It is developed by the Open Information Security Foundation (OISF), a non profit created in 2009 with initial funding from the United States Department of Homeland Security, and the first stable release appeared in 2010. The engine is written in C with a growing share of Rust for protocol parsers, and it is multi threaded from the ground up so that one machine can inspect ten gigabit links and more.

What it does

Suricata watches a copy of network traffic, either from a mirror port, a network tap or inline between two interfaces. It reassembles streams, decodes dozens of application protocols such as HTTP, TLS, DNS, SMB and SSH, and checks everything against a rule set. Each rule describes a pattern of malicious traffic, for example a known exploit payload or a request to a command and control domain. When a rule matches, Suricata writes an alert; in IPS mode it can also drop the packet. Independently of alerts it produces detailed JSON logs of every connection, DNS query, TLS certificate and transferred file through its EVE output, which is why many teams run it purely as a logging sensor feeding a SIEM.

Rules

Suricata uses the same rule language family as Snort, so a large body of public signatures applies. The most used free set is Emerging Threats Open, maintained by Proofpoint, and the project’s own suricata-update tool downloads and merges rule sources. Commercial rule feeds are available from several vendors.

How to install it

Packages exist for all major Linux distributions, FreeBSD, macOS and Windows, and the OISF maintains a personal package archive for Ubuntu with current releases. A minimal trial on a Linux server looks like this:

Check before you run this

  • Runs with administrator rights. Make sure you understand every line.
sudo apt install suricata
sudo suricata-update
sudo suricata -i eth0

Point the interface option at the network card that sees the traffic you want to inspect, then watch eve.json in the log directory. The documentation covers capture methods, performance tuning and inline deployment. Suricata is also bundled in Security Onion, pfSense and OPNsense.

Credit

Suricata is maintained by the OISF team and contributors from vendors and research groups worldwide. It is licensed under the GNU General Public License version 2.

Did this work for you?

No votes yet. Be the first.

If it did not work, the report form below tells the editors what went wrong.

See also

  • 0280 What is a firewall? A firewall is a filter that decides which network connections are allowed in or out of a computer or network. Beginner · Explains an idea · Any system Article Firewalls 15 Oct 2026
  • 0343 Fix: Connection refused and Connection timed out, what each one means Refused means the host answered and nothing is listening there. Timed out means no answer at all, usually a firewall or wrong… Beginner · Fixes an error · Linux, macOS Article DNS, IP addresses & ports · Firewalls 15 Oct 2026
  • 0344 ufw and firewalld: open and close ports Allow and remove ports and services on the two standard Linux host firewalls, restrict a port to one source network, and make… Beginner · Step by step · Linux Article Firewalls · Networking & firewalls 15 Oct 2026
  • 0347 Port check script: test a list of host:port pairs with timeouts A bash script that tries a TCP connection to each host:port you give it, waits a few seconds at most, and reports… Beginner · Cheat sheet · Linux, macOS Script DNS, IP addresses & ports · Firewalls 15 Oct 2026
  • 0443 Security monitoring explained: IDS, SIEM, EDR and where the logs go A plain language map of the security monitoring tool families, what each one watches, how they feed one another, and where the… Beginner · Explains an idea · Any system Article Detection & threat hunting · Logs 15 Oct 2026

History

Every saved edit is kept. The plot on the sleeve draws one line per edit. Open any edit to see exactly what changed.

  1. Dominik +2,398 chars

Report a problem

Something wrong, unsafe or copied? Tell the editors.
What is wrong?