Skip to main content

IDS Utility Library

Project description

py-idstools is a collection of Python libraries for working with IDS systems (typically Snort and Suricata).


  • Snort/Suricata unified2 log file reading.
  • Continuous unified2 directory spool reading with bookmarking (a’la Barnyard2).
  • Parser and mapping for classification.config.
  • Parser and mapping for and
  • Useful utility programs.


  • u2json - Convert unified2 files or spool directories to JSON.
  • gensidmsgmap - Easily create a file from rule files, directories or a rule tarball.


  • Python 2.6 or 2.7; Python 3.3 works but is not as well tested.
  • Currently only tested on Linux.


Reading a Unified2 Spool Directory

The following code snippet will “tail” a unified log directory aggregating records into events:

from idstools import unified2

reader = unified2.SpoolEventReader("/var/log/snort",
    "unified2.log", tail=True)
for event in reader:


Further documentation is located at



  • Fix IPv6 address unpacking.
  • In u2json, if the protocol number can’t be converted to a string, encode the number as a string for a consistent JSON data type.


  • New tool, u2json to convert unified2 files to JSON.


  • Support the new appid unified2 event types introduced in Snort

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for idstools, version 0.4.2
Filename, size File type Python version Upload date Hashes
Filename, size idstools-0.4.2.tar.gz (38.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page