使用ntopng分析服务器的网络流量情况

什么是ntopng

ntopng是一个网络流量探针,提供360°网络可视性,它能够从流量镜像、Netflow导出设备、SNMP设备、防火墙日志、入侵检测系统收集流量信息。

更多介绍请看

https://hongwangle.com/ntop/traffic-analysis-and-enforcement/traffic-analysis-ntopng/

有什么用

监控网卡接口,统计流量数据,如果觉得服务器的流量比较大,与自己的预期有差异,可以分析一下看看是谁在偷偷跑流量

用途应该挺多的,可以自行拓展~

怎么用

可以使用apt直接安装使用,我此处选择使用docker部署

docker run -d --name ntopng --net=host phantomski/ntopng --community --http-port=0.0.0.0:19011 -r 127.0.0.1:6379:xxxxx@11 -i enp0s6

解释一下几个参数:
–net=host
如果不使用host网络,抓到的网络接口只能是容器内的网卡接口,而我需要分析的是宿主机的整个网络流量,所以选择host模式。

–community
使用ntopng的社区版(免费版),没有找到开心版的许可证

–http-port=0.0.0.0:19011
默认监听3000端口,但3000端口不是我许可的防火墙端口段,也可能和其他docker容器端口冲突

-r 127.0.0.1:6379:xxxxx@11
指定redis的连接信息,此处分别是IP 127.0.0.1,端口6379,密码xxxx,数据库11。在docker中似乎内置了一个redis,但host模式会与我的redis容器端口冲突,所以选择用我自己docker容器中的redis。

-i enp0s6
监听enp0s6的网卡流量,从ifconfig获取而来。ifconfig中有一大堆br-xxxx和vethxxxxx,这些都是由docker管理的,我需要监控整机所有流量,所以监听enp0s6

更多信息请看官方文档
https://www.ntop.org/guides/ntopng/cli_options/cli_options.html#clioptions

默认登录是admin/admin,首次登录后会要求改密码和选择语言,支持中文

可以用nginx反向代理到https

    server {
        listen 19010 ssl;
        listen [::]:19010 ssl;

        ssl_certificate /root/.acme.sh/*.xxxx.com_ecc/fullchain.cer;
        ssl_certificate_key /root/.acme.sh/*.xxxx.com_ecc/*.xxxx.com.key;

        location ^~ / {
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_pass http://127.0.0.1:19011/;
        }
    }

长啥样

碎碎念

有点慢,不知道为啥,挺神奇的。

  • 这是一个新加坡服务器,做梯子速度也挺OK的;
  • 用同是甲骨文的美区wget它速度也挺快的;
  • 踩着日本的梯子去访问速度也挺快的;
  • 但是直连这个非标准端口的HTTP/S协议就很慢,所以要是有点慢,就有点耐心或者踩梯子吧。


以下是我遇到的问题,期待大佬分享更优方案

我平时都是用日本节点做梯子,所以新加坡和美国节点怎么看也不应该有这么多流量进出,从GPT得到的答案只能告诉我一段时间内有多少流量(和哪吒没啥区别),但我仍然不知道是哪个进程,或者哪个对手IP和我产生了多少流量,从而分析流量是否有异常

image image image

4 Likes

纯小白,会有可能是被广撒渔网的ddos或者ping给算上了吗?

可以用iftop命令 具体使用可以问GPT 统计开启后的时间段内的流量

iftop和nethogs我都看过

iftop加了&后台运行以后,> /tmp/iftop.log 就没有任何输出了

再就是他会自动重置统计结果,即便是-s 3600也是,所以我想开一段时间看看累计这期间一共产生的流量,就没法实现

更新一版ntopng的解决方案

佬学习了,下次分享一下如何排查被攻击

nginx 没开gzip压缩

好东西 先mark

mark一下

ma一下

但是挂了梯子就很快哦

直连(通过clash,选DIRECT)


梯子(就是用装ntopng这台服务器做梯子),已清缓存


所以觉得很神奇的问题,神奇到甚至不知道用什么关键词去搜索,或者向GPT提问

跟着大佬学习 :laughing: