|
求一思路/方法
PS:
前言说明 /proc/net/tcp 这个文件是lin的TCP连接信息
其中的IP 端口 与 tcp连接状态 均是用16进制数表示的 所以需要先转换成
---------正文---------
我想用PHP直接查看当前TCP的连接状态
本来直接用[ol]system('netstat -ntu | awk \'{print $5}\' | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | sort | uniq -c | sort -nr');[/ol]复制代码这样既可查看了,不过这样子有点不太爽,毕竟有的时候system这类系统函数可能会被禁用
所以我现在想用PHP调用/proc/net/tcp的信息[ol]$str = @file("/proc/net/tcp");for ($i=1; $i复制代码其中$zRem[$i]=远程连接的IP $zST[$i]=远程连接的状态
这个文件里面我暂时需要用到也就这两块
可是这样获取后的信息,可读性很一般
还不剩直接调用命令来的直观
所以想让各位达人们帮忙想想有什么思路/方法来完成上面这个调用的效果
我现在测试的方法是[ol]$str = @file("/proc/net/tcp");$IPs = "[";$STs = "[";for ($i=1; $i复制代码其中$IPs=远程连接的IP $STs=远程连接的状态
这样子就吧这两个信息给分开来了
我想到的方法就是用json_decode()把这两个信息转换成数组了
然后用array_count_values()来统计各值出现的次数
可是统计出来后怎么使用呢?!
难道再json_encode()?!再explode()分割?!
个人觉得太麻烦了
所以想请教下有没有什么简便的思路/方法来完成这个呢 |
|