|
本帖最后由 imlonghao 于 2015-7-2 23:42 编辑
自己折腾的玩意,项目地址:https://github.com/imlonghao/portstat
我的小博客,网站地址:https://imlonghao.com/
本教程适用于shadowsocks流量的统计,适用于个人用户或者小范围区域的用户使用折腾。
原理:
iptables统计入口和出口的某个端口的流量,然后定期通过python脚本处理结果,然后POST到一个指定的页面
使用:
以Debian系统为例,
安装
- apt-get update
- apt-get install python-pip
- pip install portstat
复制代码
将下列代码复制到中之前
- /sbin/iptables -N PORTSTAT
- /sbin/iptables -A INPUT -j PORTSTAT
- /sbin/iptables -A OUTPUT -j PORTSTAT
- /bin/bash /etc/portstat.rules
复制代码
加入定时任务:
- */5 * * * * /usr/local/bin/portstat -u
复制代码
然后就安装好了,可以进行初始化,你可以重启VPS,或者手动运行下面的代码:
- /sbin/iptables -N PORTSTAT
- /sbin/iptables -A INPUT -j PORTSTAT
- /sbin/iptables -A OUTPUT -j PORTSTAT
复制代码
在/etc/portstat.conf文件中写入你想统计的端口和Webhook地址。
例如:
- [shadowsocks]
- Port=10000-10015
- Webhook=https://hub.imlonghao.com/upload/XATCv4FNnobciVJDGzpWaqLMRSlmK7sU
复制代码
这里是10000-10015,表示统计10000,10001,10002,10003,.......,10014,10015
保存后,记得要运行生成对应的iptables规则
然后就可以了!
====================
附带本人的Hub(流量统计中心)
====================
新建一个Key:https://hub.imlonghao.com/new
{"status": 200, "message": {"newKey": "XATCv4FNnobciVJDGzpWaqLMRSlmK7sU", "createTime": 1435851422.917758}}
XATCv4FNnobciVJDGzpWaqLMRSlmK7sU就是我们新建的Key了
----
Webhook地址:https://hub.imlonghao.com/upload/你的Key
按照我们的例子,在portstat的设置文件中的Webhook地址即是https://hub.imlonghao.com/upload/XATCv4FNnobciVJDGzpWaqLMRSlmK7sU
----
查看统计数据:https://hub.imlonghao.com/view/你的Key
返回的样子像这样:{"status": 200, "message": {"9999": 368511665, "10000": 1074, [.....] }}
368511665和1074分别是9999端口和10000端口总计所用的流量。
单位是 Byte ,要化成 Megabyte ,请自行 368511665/1024/1024 = 351.44
----
删除一个Key:https://hub.imlonghao.com/delete/你的Key
所以请注意保存好你的Key,一旦丢失别人就可以删掉了。
----
统计数据清零:https://hub.imlonghao.com/cleared/你的Key
你可以用crontab定时每月1号0点清除数据~~Key不会被清除 |
|