通过ifconfig只能看到所有的流量总和

如果想实时统计某个端口上用了多少流量,最简单的方法便是通过iptables

通过这个方法也可以去统计shadowsocks的每个账号用了多少流量

shadowsocks多用户版为每个用户分配了不同的服务器连接端口号,服务器对该用户的所有流量均是通过这个端口发出的

只需要以这个端口为源端口,统计OUTPUT流量,就可以精确统计shadowsocks的单用户流量

example

统计12345端口上的出网流量(这里统计的是用户下载流量):

1
iptables -A OUTPUT -p tcp --sport 12345

其中-A OUTPUT表示在OUTPUT上增加一条规则

-p tcp表示指定tcp协议 --sport 12345表示出网的端口号为12345
统计12345端口上的进网流量(这里统计的是用户上传流量):

1
iptables -A INPUT -p tcp --dport 12345

其中-A INPUT表示在INPUT上增加一条规则
-p tcp表示指定tcp协议 --dport 12345表示入网的端口号为12345
添加完成之后就可以通过

1
iptables -vnL

来查看统计出来的信息。

流量信息自添加规则之后开始统计,无法显示之前的流量信息。

1

pkts一列是包的数量 bytes一列是流量统计结果

 

另外需要注意的是,通过iptables添加的规则只能统计ipv4流量
统计ipv6流量需要使用ip6tables命令