Snort
By Cisco
Snort is an open-source network intrusion detection and prevention system that inspects network traffic in real time against a library of rules to identify malicious activity such as exploit attempts, malware communication, and port scans.…
Definition
Snort is an open-source network intrusion detection and prevention system that inspects network traffic in real time against a library of rules to identify malicious activity such as exploit attempts, malware communication, and port scans. Originally developed as an independent project and now maintained under Cisco, it can run purely as a passive detector that generates alerts or, in inline deployment, as a prevention system that blocks matching traffic.
Overview
Network administrators need visibility into what is actually flowing across their network, since traffic that looks legitimate at the firewall level can still carry exploit attempts, malware command-and-control traffic, or reconnaissance activity. Snort was created to address this by applying a signature-based rules engine directly to network packets, giving defenders a way to detect known attack patterns as they cross the wire rather than relying solely on endpoint or log-based detection. Mechanically, Snort captures network packets, typically via a network tap or a mirrored switch port, and evaluates them against a set of rules describing known attack signatures, protocol anomalies, and suspicious traffic patterns. Rules can match on packet headers, payload content, and protocol behavior, and Snort supports both a large community-maintained rule set and commercial rule feeds. When deployed inline, matching traffic can be dropped or reset rather than just logged, turning Snort from a detection tool into a prevention tool. Snort differs from a host-based tool like OSSEC by operating entirely at the network layer, watching traffic rather than logs or files on individual machines, and it differs from a broader monitoring framework like Zeek by being primarily rule- and signature-driven rather than built around rich protocol-level session logging and scripting for custom analysis. Suricata is Snort's closest direct competitor, offering a compatible rule syntax with a multi-threaded engine and additional protocol support. Snort's long history in production networks also means its rule language and community rule sets are widely understood, which is part of why later engines chose to remain compatible with it rather than inventing an entirely new syntax. In practice, organizations deploy Snort at network chokepoints such as the perimeter or between internal network segments to detect exploit attempts against known vulnerabilities, flag traffic associated with known malware families, and catch reconnaissance activity like port scans. Managed security providers and open-source security stacks also commonly bundle Snort or its rules as one layer of a broader detection strategy alongside host-based and log-based tools. A signature-based approach like Snort's has an inherent limitation: it detects known patterns well but struggles against novel attacks or heavily obfuscated traffic that does not match an existing rule, so it is typically deployed as one layer among several rather than a sole line of defense. Keeping rule sets current also requires ongoing maintenance, since outdated rules leave known and already-patched attack patterns undetected while consuming processing resources on irrelevant checks. Throughput can also become a constraint on very high-bandwidth links, which is one reason organizations with heavier traffic sometimes evaluate Suricata's multi-threaded engine as an alternative.
Key Features
- Inspects network traffic in real time against signature-based rules
- Supports both passive detection and inline prevention modes
- Uses a large, actively maintained community and commercial rule set
- Detects exploit attempts, malware traffic, and port scans
- Deployable at network chokepoints via tap or mirrored port
- Open source with long-standing adoption across the industry
- Maintained under Cisco following its acquisition of the project
- Compatible rule syntax shared with the Suricata engine