[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 如何在局域网内判断其它设备的流量

使用debian系统的nas进行p2p下载,但家里网络带宽有限,需要判断在电视盒子在待机时开启nas下载,播放时暂停nas的下载任务,设想使用debian的crontab进行1min任务调度,但难题是在这情况下,如何用脚本获得盒子的下载速度信息,使用ping命令没有效果,请问有什么办法吗?

最简单的方法,判断盒子是不是在线。不在线则开下载。一般如果设备不禁ping响应,默认可以ping可以判断一个设备是不是在线。

复杂的一点的方法,路由器可以得到各个设备的流量等等状态,如果你有能力写脚本从路由器上提取信息,这个也简单的事情。。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 2# 依山居


    谢谢回复,虽然可以ping设备的在线情况,但无法判断盒子是播放或待机(小米盒子,只要不断电,始终能ping通)状态,就是想用脚本测试下盒子的流量数据以判断它是不是待机中。
    另外,360的网络管家可以读出我路由器的信息,这样目的就达到了,你也说了这一点,但不知道怎么实现的,难道是提取html信息吗?(路由器不能telnet)

TOP

回复 3# sunnyseaman


    360的网络管家
你指的是路由器卫士?
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

普通家用路由器一般默认没有TELNET。
路由器卫士要求用户输入路由的用户密码。也是从HTTP访问然后提取信息。

我没用过盒子,但是猜这类盒子可能有http管理界面或者接口,如果有的话,也能通过来取得状态。

因为不型号品牌的路由器界面和接口不一样,所以不同的路由器需要写不同的代码。

目前好像没有通用的程序或者库用来提取路由器的状态和信息。我有想法做一套python用来提取路由器。但是我手上只极路由。近期估计会尝试写一个极路由的库。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 3# sunnyseaman


    没用过盒子不太清楚。如果有URL可以访问的话,分析htm页面信息倒有可能是一个可行的方案。

TOP

本帖最后由 sunnyseaman 于 2016-8-6 23:15 编辑

没有好办法,先用ping工作吧,谢谢大家的回复,下面的脚本在cron调度下有效:
#!/bin/sh
COMMAND="transmission-remote 127.0.0.1:9091 --auth=root:toor"
busyjob=`ping -c 2 192.168.1.99|grep received|awk '{print $4}'`
if [ $busyjob -eq 0 ]; then
                if [ -f "/tmp/boxbusy" ]; then
                        rm /tmp/boxbusy
                        transmission-remote 127.0.0.1:9091 --auth=root:toor -D -U
                fi
        else
                if [ ! -f "/tmp/boxbusy" ]; then
                        echo runhalf >/tmp/boxbusy
                        transmission-remote 127.0.0.1:9091 --auth=root:toor -d 50 -u 10
                fi
fi

TOP

返回列表