有没有一个工具能够显示server上每个tcp连接的速度啊。
用netstat能够监看每个tcp连接状态,但无法显示速度
找了个dstat工具,可以显示每个网卡的流量,但是却不能显示每个tcp线程的
求高手指教有没有什么工具能够兼顾两者的,能够显示每个TCP的速度。
或者底层什么东西可以调用,自己写个出来也行,去proc/net/tcp里找了找,没找到什么可用的
方法:
modprobe ip_nat_ftp
cat /proc/net/ip_conntrack
谢谢 platinum
下面是监看每个连接流量的一段小代码,端口那可以自己改成自己需要监看的端口。
每3秒显示一次,每次是3秒内每秒的速度。
在后面文本处理那不知道会不会有问题,当连接增加或者减少的时候,牛人帮忙改进下了。
不同内核,/proc/net/ip_conntrack文件不同
!/bin/bash
modprobe ip_nat_ftp
while true
do
echo
((cat /proc/net/ip_conntrack | grep dport=3000 | grep ESTABLISHED | gawk -F " " ‘{print $11,$13,$12,$14,$16}’) && sleep 3 && (cat /proc/net/ip_conntrack | grep dport=3000 | grep ESTABLISHED | gawk -F " " ‘{print $11,$13,$12,$14,$16}’)) | sort -k1 -k2 -k3 -k4 | gawk -F “bytes=” ‘BEGIN{last=0}{if (NR%2!=0) {last=$2} else {last=$2-last; if (last < 0) {last=-100} else {last=last/3}; print $1, "bytes="last}; ;}END{print “next round…”}’
done
作者:kozazyh
来源:CSDN
原文:https://blog.csdn.net/kozazyh/article/details/5791654
版权声明:本文为博主原创文章,转载请附上博文链接!