Suricata is a network Intrusion Detection System, Intrusion Prevention System and Network Security Monitoring engine developed by the OISF and the Suricata community.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Eric Leblond 20a8b9dbe5 unix-manager: add unix command socket and associated script
This patch introduces a unix command socket. JSON formatted messages
can be exchanged between suricata and a program connecting to a
dedicated socket.
The protocol is the following:
 * Client connects to the socket
 * It sends a version message: { "version": "$VERSION_ID" }
 * Server answers with { "return": "OK|NOK" }
If server returns OK, the client is now allowed to send command.

The format of command is the following:
 {
   "command": "pcap-file",
   "arguments": { "filename": "smtp-clean.pcap", "output-dir": "/tmp/out" }
 }
The server will try to execute the "command" specified with the
(optional) provided "arguments".
The answer by server is the following:
 {
   "return": "OK|NOK",
   "message": JSON_OBJECT or information string
 }

A simple script is provided and is available under scripts/suricatasc. It
is not intended to be enterprise-grade tool but it is more a proof of
concept/example code.  The first command line argument of suricatasc is
used to specify the socket to connect to.

Configuration of the feature is made in the YAML under the 'unix-command'
section:
  unix-command:
    enabled: yes
    filename: custom.socket
The path specified in 'filename' is not absolute and is relative to the
state directory.

A new running mode called 'unix-socket' is also added.
When starting in this mode, only a unix socket manager
is started. When it receives a 'pcap-file' command, the manager
start a 'pcap-file' running mode which does not really leave at
the end of file but simply exit. The manager is then able to start
a new running mode with a new file.

To start this mode, Suricata must be started with the --unix-socket
 option which has an optional argument which fix the file name of the
socket. The path is not absolute and is relative to the state directory.

THe 'pcap-file' command adds a file to the list of files to treat.
For each pcap file, a pcap file running mode is started and the output
directory is changed to what specified in the command. The running
mode specified in the 'runmode' YAML setting is used to select which
running mode must be use for the pcap file treatment.

This requires modification in suricata.c file where initialisation code
is now conditional to the fact 'unix-socket' mode is not used.

Two other commands exists to get info on the remaining tasks:
 * pcap-file-number: return the number of files in the waiting queue
 * pcap-file-list: return the list of waiting files
'pcap-file-list' returns a structured object as message. The
structure is the following:
 {
  'count': 2,
  'files': ['file1.pcap', 'file2.pcap']
 }
13 years ago
benches Initial add of the files. 16 years ago
contrib Add contrib dir and it's content to the dist. Bug 567 13 years ago
doc Clean up and update bundled docs 13 years ago
libhtp Added parentheses to fix Eclipse static code analysis 13 years ago
m4 Prelude plugin: add detection in configure script 16 years ago
qa coccinelle: fix distcheck 13 years ago
rules stream: change how retransmissions are handled and detected. 13 years ago
scripts unix-manager: add unix command socket and associated script 13 years ago
src unix-manager: add unix command socket and associated script 13 years ago
.gitignore Import .gitignore file. 15 years ago
COPYING Initial add of the files. 16 years ago
ChangeLog Update changelog to reflect 1.4beta3 changes. 13 years ago
LICENSE import of gplv2 LICENSE 16 years ago
Makefile.am unix-manager: add unix command socket and associated script 13 years ago
Makefile.cvs Initial add of the files. 16 years ago
acsite.m4 Added C99 defs/macros to acsite.m4 for CentOS 16 years ago
autogen.sh OpenBSD 5.2 build fixes, Unit test fix. 13 years ago
classification.config Import of classification.config 15 years ago
configure.ac unix-manager: add unix command socket and associated script 13 years ago
doxygen.cfg doxygen: generate doc for acquisition modules 13 years ago
mkinstalldirs Update autojunk.sh + build update. 16 years ago
reference.config Add md5 to reference.config. 14 years ago
suricata.yaml.in unix-manager: add unix command socket and associated script 13 years ago
threshold.config threshold: improve comments of shipped threshold.config, add links to wiki. 13 years ago