什么是ntopng
ntopng是一个网络流量探针,提供360°网络可视性,它能够从流量镜像、Netflow导出设备、SNMP设备、防火墙日志、入侵检测系统收集流量信息。
更多介绍请看
有什么用
监控网卡接口,统计流量数据,如果觉得服务器的流量比较大,与自己的预期有差异,可以分析一下看看是谁在偷偷跑流量
用途应该挺多的,可以自行拓展~
怎么用
可以使用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
更多信息请看官方文档
默认登录是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和我产生了多少流量,从而分析流量是否有异常