因此最近我看到了一个网站:https://0day.rocks/,其中有一段文字说明该服务器是Tor节点。但是在此之下是自上次重置以来服务器已传输的字节数(TB)。我已经在其他网站上看到过类似的事情,但是我对如何在php中做到这一点非常感兴趣(如果可能的话)。只是说我不是要您为我编写代码,我只是想让某人告诉我阅读什么或从哪里开始等。
答案 0 :(得分:0)
就像评论中讨论的那样,您并不是严格地寻找php解决方案,因此,我建议在Web服务器级别记录传入和传出的流量。
例如,Apache已经具备了这种能力。只需启用mod_status(https://httpd.apache.org/docs/2.4/mod/mod_status.html),它可以提供以下信息:
似乎也可以从apache访问日志中获取字节。看到这个:https://serverfault.com/questions/14613/how-can-i-see-how-much-bandwidth-each-apache-virtual-host-is-using
NGINX,Tomcat等其他Web服务器应具有类似的功能。
答案 1 :(得分:0)
在Linux上,很容易查询接口统计信息,该统计信息将统计传输的所有字节,而不仅仅是Tor或Apache传输的字节。
直接从Tor控制器收集0day的统计信息,跟踪其自身的流量使用情况。
如果您的公共接口是eth0
,则可以从以下文件中获取和传输字节:
/sys/class/net/eth0/statistics/tx_bytes
/sys/class/net/eth0/statistics/rx_bytes
使用系统可预测的网络接口命名,该接口看起来更像enp3s0f0
。
或者,您也可以从/proc/net/dev
中解析信息,但是前两个更容易。
在PHP中,任何用户都可以使用file_get_contents
阅读显示在页面上的内容。如果需要,可以使用this之类的答案将字节转换为另一个单位。
有关网络统计信息的内核文档可以在这里找到:https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net-statistics