标签 snort 下的文章

简介

Justniffer 是一个可用于替代 Snort 的网络协议分析器。它非常流行,可交互式地跟踪/探测一个网络连接。它能从实时环境中抓取流量,支持 “lipcap” 和 “tcpdump” 文件格式。它可以帮助用户分析一个用 wireshark 难以抓包的复杂网络。尤其是它可以有效的帮助你分析应用层流量,能提取类似图像、脚本、HTML 等 http 内容。Justniffer 有助于理解不同组件之间是如何通信的。

功能

Justniffer 可以收集一个复杂网络的所有流量而不影响系统性能,这是 Justniffer 的一个优势,它还可以保存日志用于之后的分析,Justniffer 其它一些重要功能包括:

  1. 可靠的 TCP 流重建

它可以使用主机 Linux 内核的一部分用于记录并重现 TCP 片段和 IP 片段。

  1. 日志

保存日志用于之后的分析,并能自定义保存内容和时间。

  1. 可扩展

可以通过外部的 python、 perl 和 bash 脚本扩展来从分析报告中获取一些额外的结果。

  1. 性能管理

基于连接时间、关闭时间、响应时间或请求时间等提取信息。

安装

Justniffer 可以通过 PPA 安装:

运行下面命令添加库:

$ sudo add-apt-repository ppa:oreste-notelli/ppa

更新系统:

$ sudo apt-get update

安装 Justniffer 工具:

$ sudo apt-get install justniffer

make 的时候失败了,然后我运行下面的命令并尝试重新安装服务

$ sudo apt-get -f install

示例

首先用 -v 选项验证安装的 Justniffer 版本,你需要用超级用户权限来使用这个工具。

$ sudo justniffer -V

示例输出:

j

1、 以类似 apache 的格式导出 eth1 接口流量,显示到终端

$ sudo  justniffer -i eth1

示例输出:

Selection_001

2、 可以用下面的选项跟踪正在运行的 tcp 流

$ sudo  justniffer -i eth1 -r

示例输出:

Selection_002

3、 获取 web 服务器的响应时长

$ sudo justniffer -i eth1 -a " %response.time"

示例输出:

Selection_003

4、 使用 Justniffer 读取一个 tcpdump 抓取的文件

首先,用 tcpdump 抓取流量。

$ sudo tcpdump -w /tmp/file.cap -s0 -i eth0

然后用 Justniffer 访问数据

$ justniffer -f file.cap

示例输出:

Selection_005

5、 只抓取 http 数据

$ sudo justniffer -i eth1 -r -p "port 80 or port 8080"

示例输出:

Selection_006

6、 获取一个指定主机的 http 数据

$ justniffer -i eth1 -r -p "host 192.168.1.250 and tcp port 80"

示例输出:

Selection_007

7、 以更精确的格式抓取数据

当你输入 justniffer -h 的时候你可以看到很多用于以更精确的方式获取数据的格式关键字

$ justniffer -h

示例输出:

Selection_008

让我们用 Justniffer 根据预先定义的参数提取数据

$ justniffer -i eth1 -l "%request.timestamp %request.header.host %request.url %response.time"

示例输出:

Selection_009

其中还有很多你可以探索的选项。

总结

Justniffer 是一个很好的用于网络测试的工具。在我看来对于那些用 Snort 来进行网络探测的用户来说,Justniffer 是一个更简单的工具。它提供了很多 格式关键字 用于按照你的需要精确地提取数据。你可以用 .cap 文件格式记录网络信息,之后用于分析监视网络服务性能。

参考资料:


via: http://www.unixmen.com/install-justniffer-ubuntu-15-04/

作者:Rajneesh Upadhyay 译者:ictlyh 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出

对于网络安全而言入侵检测是一件非常重要的事。入侵检测系统(IDS)用于检测网络中非法与恶意的请求。Snort是一款知名的开源的入侵检测系统。其 Web界面(Snorby)可以用于更好地分析警告。Snort使用iptables/pf防火墙来作为入侵检测系统。本篇中,我们会安装并配置一个开源的入侵检测系统snort。

Snort 安装

要求

snort所使用的数据采集库(DAQ)用于一个调用包捕获库的抽象层。这个在snort上就有。下载过程如下截图所示。

downloading_daq

解压并运行./configure、make、make install来安装DAQ。然而,DAQ要求其他的工具,因此,./configure脚本会生成下面的错误。

flex和bison错误

flexandbison_error

libpcap错误

libpcap error

因此在安装DAQ之前先安装flex/bison和libcap。

install_flex

如下所示安装libpcap开发库

libpcap-dev installation

安装完必要的工具后,再次运行./configure脚本,将会显示下面的输出。

without_error_configure

make和make install 命令的结果如下所示。

make install

make

成功安装DAQ之后,我们现在安装snort。如下图使用wget下载它。

downloading_snort

使用下面的命令解压安装包。

#tar -xvzf  snort-2.9.7.3.tar.gz

snort_extraction

创建安装目录并在脚本中设置prefix参数。同样也建议启用包性能监控(PPM)的sourcefire标志。

#mkdir /usr/local/snort

#./configure --prefix=/usr/local/snort/ --enable-sourcefire

snort_installation

配置脚本会由于缺少libpcre-dev、libdumbnet-dev 和zlib开发库而报错。

配置脚本由于缺少libpcre库报错。

pcre-error

配置脚本由于缺少dnet(libdumbnet)库而报错。

libdnt error

配置脚本由于缺少zlib库而报错

zlib error

如下所示,安装所有需要的开发库。

# aptitude install libpcre3-dev

libpcre3-dev install

# aptitude install libdumbnet-dev

libdumnet-dev installation

# aptitude install zlib1g-dev

zlibg-dev installation

安装完snort需要的库之后,再次运行配置脚本就不会报错了。

运行make和make install命令在/usr/local/snort目录下完成安装。

# make

make snort

# make install

make install snort

最后,从/usr/local/snort/bin中运行snort。现在它对eth0的所有流量都处在promisc模式(包转储模式)。

snort running

如下图所示snort转储流量。

traffic

Snort的规则和配置

从源码安装的snort还需要设置规则和配置,因此我们需要复制规则和配置到/etc/snort下面。我们已经创建了单独的bash脚本来用于设置规则和配置。它会设置下面这些snort设置。

  • 在linux中创建用于snort IDS服务的snort用户。
  • 在/etc下面创建snort的配置文件和文件夹。
  • 权限设置并从源代码的etc目录中复制数据。
  • 从snort文件中移除规则中的#(注释符号)。
#!/bin/bash#
# snort源代码的路径
snort_src="/home/test/Downloads/snort-2.9.7.3"
echo "adding group and user for snort..."
groupadd snort &> /dev/null
useradd snort -r -s /sbin/nologin -d /var/log/snort -c snort_idps -g snort &> /dev/null#snort configuration
echo "Configuring snort..."mkdir -p /etc/snort
mkdir -p /etc/snort/rules
touch /etc/snort/rules/black_list.rules
touch /etc/snort/rules/white_list.rules
touch /etc/snort/rules/local.rules
mkdir /etc/snort/preproc_rules
mkdir /var/log/snort
mkdir -p /usr/local/lib/snort_dynamicrules
chmod -R 775 /etc/snort
chmod -R 775 /var/log/snort
chmod -R 775 /usr/local/lib/snort_dynamicrules
chown -R snort:snort /etc/snort
chown -R snort:snort /var/log/snort
chown -R snort:snort /usr/local/lib/snort_dynamicrules
###copy  configuration and rules from  etc directory under source code of snort
echo "copying from snort source to /etc/snort ....."
echo $snort_src
echo "-------------"
cp $snort_src/etc/*.conf* /etc/snort
cp $snort_src/etc/*.map /etc/snort##enable rules
sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf
echo "---DONE---"

改变脚本中的snort源目录路径并运行。下面是成功的输出。

running script

上面的脚本从snort源中复制下面的文件和文件夹到/etc/snort配置文件中

files copied

snort的配置非常复杂,要让IDS能正常工作需要进行下面必要的修改。

ipvar HOME_NET 192.168.1.0/24  # LAN side

ipvar EXTERNAL_NET !$HOME_NET   # WAN side

veriable set

var RULE_PATH /etc/snort/rules     # snort signature path
var SO_RULE_PATH /etc/snort/so_rules        #rules in shared libraries
var PREPROC_RULE_PATH /etc/snort/preproc_rules  # Preproces path
var WHITE_LIST_PATH /etc/snort/rules        # dont scan
var BLACK_LIST_PATH /etc/snort/rules        #  Must scan

main path

include $RULE_PATH/local.rules   # file for custom rules

移除ftp.rules、exploit.rules前面的注释符号(#)。

path rules

现在下载社区规则并解压到/etc/snort/rules。启用snort.conf中的社区及紧急威胁规则。

wget_rules

community rules

进行了上面的更改后,运行下面的命令来检验配置文件。

# snort -T -c /etc/snort/snort.conf

snort running

总结

本篇中,我们关注了开源IDPS系统snort在Ubuntu上的安装和配置。通常它用于监控事件,然而它可以被配置成用于网络保护的在线模式。snort规则可以在离线模式中可以使用pcap捕获文件进行测试和分析


via: http://linoxide.com/security/install-snort-usage-ubuntu-15-04/

作者:nido 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出