How to install snort3 from github

First, you must clone the repository:

git clone https://github.com/snort3/snort3.git
cd snort3

Now, install snort2 dependencies and some dependencies that snort2 does not use:

sudo apt build-dep snort
sudo apt install libhwloc-dev libluajit-5.1-dev libunwind-dev 

Now, procced to compile the project:

./configure_cmake.sh
cd build
make

Probably you will see the following issue:

daq_dlt.h: No such file or directory

This happend, because you need a newer labdaq version (the version installed as dependence from snort is older).

git clone https://github.com/snort3/libdaq.git
cd libdaq
./bootstrap
./configure
make
sudo make install

Now, come back to snort3 folder and try to compile it again. Probably you will see this issue:

undefined reference to daq_version_string'

This appears because two versions of daq are installed (repository and github version). 
To solve it, like is reported here just remove the older version:

apt remove libdaq-dev

Now execute the following:

/usr/local/snort/bin/snort
/usr/local/snort/bin/snort: error while loading shared libraries: libdaq.so.3: cannot open shared object file: No such file or directory


sudo ldconfig   
/usr/local/snort/bin/snort --version

   ,,_     -*> Snort++ <*-
  o"  )~   Version 3.0.3 (Build 5)
   ''''    By Martin Roesch & The Snort Team
           http://snort.org/contact#team
           Copyright (C) 2014-2020 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using DAQ version 3.0.0
           Using LuaJIT version 2.1.0-beta3
           Using OpenSSL 3.0.0-alpha2-dev 
           Using libpcap version 1.8.1
           Using PCRE version 8.39 2016-06-14
           Using ZLIB version 1.2.11
           Using LZMA version 5.2.2


Comments

Popular posts from this blog

Exception: Could not find a default OpenFlow controller in Mininet

How to fix Android when developer options are not available for this user

Webcam streaming throught VLC with YUY2 compatibility