0x01 前言

因为我没有用路由器拨号,每次想查看网关流量都需要通过SSH登录到系统使用iftop查看。而且得到的信息也不够全面。最近我又找到一款开源软件ntopng,在过去的几天我都使用它来监控我的网关流量。

0x02 准备

首先是官网:http://www.ntop.org/products/traffic-analysis/ntop/

然后是GitHub:https://github.com/ntop/ntopng

0x02.1 依赖包

yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel libxml2-devel redis wget sqlite-devel mariadb-devel -y

0x02.2 获取

 

#获取nDPI
git clone https://github.com/ntop/nDPI.git

#获取ntopng
git clone https://github.com/ntop/ntopng.git

0x03 安装

0x03.1 安装nDPI:

#进入nDPI文件夹
cd nDPI

#生成configure文件
./autogen.sh

#configure配置
./configure

#编译
make

#安装
make install

0x03.2 安装ntopng:

#进入ntopng文件夹
cd ntopng

#生成configure文件
./autogen.sh

#configure配置
./configure

#编译
make

#安装
make install

#安装GeoIP库
make geoip

 

0x04 配置

配置ntopng

#新建文件夹
mkdir /etc/ntopng

#新建文件并写入内容
vim /etc/ntopng/ntopng.start
#写入一下内容
--local-networks "192.168.1.0/24"
--interface 1

#新建文件并写入内容
vim /etc/ntopng/ntopng.conf
#写入以下内容
-G=/var/run/ntopng.pid

0x05 启动

#立即启动redis
systemctl start redis

#将redis设为开机启动
systemctl enable redis

#启动ntopn
/usr/local/bin/ntopng > /dev/null 2>&1

如果你想开机启动,还需要将启动ntopn的命令添加到rc.local文件中:

#打开文件
vim /etc/rc.local

#添加以下内容
/usr/local/bin/ntopn > /dev/null 2>&1

0x06 防火墙

ntopn默认使用TCP 3000端口,我的服务器默认将所有传入数据丢弃,那就需要手动放行:

#对内网IP放行TCP 3000端口
iptables -A INPUT -t tcp --dport 3000 -s 10.1.1.0/24 -j ACCEPT

#保存规则到文件
service iptables save

#重新加载iptables
service iptables reload

0x07 访问

我们可以通过IP:3000或foo.com:3000进行访问。

默认用户名和密码都是admin。

登录后就可以看到酷炫的界面啦:

Welcome to ntopng (2) Welcome to ntopng

0x08 结语

这开源软件的界面很酷炫,如果你仔细观察,还能发现所有访问Google的数据都被判定为SYN攻击。这是因为Google回传的数据包被众所周知的原因所丢弃了,也有可能根本没有到达Google服务器。