设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย french

搜索
热搜: 活动 交友 discuz

php求助帖 [复制链接]
查看:41 | 回复:2

112

主题

4757

回帖

9902

积分

论坛元老

积分
9902
发表于 2011-2-3 22:29:24 | 显示全部楼层 |阅读模式
求一思路/方法
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()分割?!
    个人觉得太麻烦了

    所以想请教下有没有什么简便的思路/方法来完成这个呢
  • 288

    主题

    1万

    回帖

    2万

    积分

    论坛元老

    积分
    21368
    发表于 2011-2-3 23:26:50 | 显示全部楼层
    太难了  不懂

    76

    主题

    369

    回帖

    1034

    积分

    金牌会员

    积分
    1034
    发表于 2011-2-3 23:35:30 | 显示全部楼层
    原帖由 cnweb 于 2011-2-3 23:26 发表


    太难了  不懂
    您需要登录后才可以回帖 登录 | 立即注册

    论坛客服/商务合作/投诉举报:2171544 (QQ)
    落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
    拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
    落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
    © 2001-2014

    浙公网安备 33060302000191号

    浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

      落伍法律顾问: ITlaw-庄毅雄

    Archiver|手机版|Discuz! X

    GMT+8, 2026-5-23 06:08 , Processed in 0.013783 second(s), 3 queries , Gzip On, Redis On.

    返回顶部