请问怎么在 openwrt 上监控设备的连接与断开? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
nsznsznsz
V2EX    OpenWrt

请问怎么在 openwrt 上监控设备的连接与断开?

  •  
  •   nsznsznsz 2015-06-24 04:25:30 +08:00 2360 次点击
    这是一个创建于 3842 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我需要在外部设备连接或断开我的路由器的时候做一些额外操作
    可是没找到有什么办法当设备连接或断开的时候通知我的程序

    我也没找到有什么办法能通过Native API或者命令获取当前连接的设备列表
    也不能通过arp表或者dhcp表来查看 因为它们不是实时变化的

    我现在的方法是每10分钟通过openwrt的web接口获得当前连接的设备列表来检测
    这样能准确获得当前已连接的设备列表 可是这样效率比较低 而且不能快速反应
    不知道openwrt内部是怎么获取的

    求指教
    13 条回复    2015-06-26 17:19:37 +08:00
    jasontse
        1
    jasontse  
       2015-06-24 05:56:48 +08:00 via Android
    # iwinfo wlan0 assoclist
    liqinliqin
        2
    liqinliqin  
    PRO
       2015-06-24 06:58:32 +08:00
    @jasontse 楼上正解,
    其实也可以通过空中抓包分析,不和是不是连接到当前路由了,根据信号强度RSSI一样可以知道距离。
    slowman
        3
    slowman  
       2015-06-24 09:48:19 +08:00 via Android
    我用的是 /proc/dhcp.lease
    不知道记错了没 似乎是 /tmp 下的?
    slowman
        4
    slowman  
       2015-06-24 09:49:11 +08:00 via Android
    @1423 补充。 dhcp租期缩小点。5min这样
    nsznsznsz
        5
    nsznsznsz  
    OP
       2015-06-24 15:45:27 +08:00
    @jasontse @1423 dhcp.lease和iwinfo我都知道 但是都是要自己定时去取的
    我现在的主要目标不是如何取出连接的信息 而是怎样才能够实时监控连接和断开的境况
    连接和断开的时候应该必然会发生一些事件 我主要想怎么能够监听到这些事件

    @liqinliqin 我的程序是运行在路由器上的...拥有root权限 没有必要去判断信号强度什么的吧...
    20150517
        6
    20150517  
       2015-06-24 16:50:39 +08:00 via Android
    openwrt开源的,看源代码啊,自己重新编译个
    20150517
        7
    20150517  
       2015-06-24 21:28:57 +08:00 via Android
    其实你可以读log,log里有信息显示 连接的,但断开连接估计路由自己都不知道
    liqinliqin
        8
    liqinliqin  
    PRO
       2015-06-24 22:43:50 +08:00
    @nsznsznsz
    还是有必要的,到最后实际用的时候,你的程序有可能不在路由上运行,就在一个角落里面。
    nsznsznsz
        9
    nsznsznsz  
    OP
       2015-06-24 22:51:07 +08:00
    @20150517 我刚刚试了下 的确可以看到连接的ip和mac地址 断开的时候有时候有显示 有时候又没有 有点奇怪
    log变化得太快 监控log的话不停的读文件效率有点低
    我刚刚想到的新方法是监控arp表 这个比dhcp稍微要准

    @liqinliqin 这程序只是我自己用 不是商业程序
    slowman
        10
    slowman  
       2015-06-25 00:18:43 +08:00 via Android
    @nsznsznsz arp 准么?我测试,断开链接后几个小时 arp 还有,但主机名是问号
    我弄了个 pppoe 按需连接的脚本用的是 dhcp ,正常工作一个月左右了
    20150517
        11
    20150517  
       2015-06-25 01:20:30 +08:00 via Android
    @nsznsznsz 我最近也是家用做了一个,远程ssh读一个dhcp文件,然后写到mongo登记所有登录上来的设备
    nsznsznsz
        12
    nsznsznsz  
    OP
       2015-06-25 15:08:08 +08:00 via iPad
    @1423 我的这个arp似乎1分钟以内会刷新一次 我没做过特别设置
    没断线的设备arp表里面那个flag是2
    断线了的是0 几分钟后项目会被删掉
    linkupmylife
        13
    linkupmylife  
       2015-06-26 17:19:37 +08:00
    可以用STP,会有Topology Change Notification提示。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3804 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 05:18 PVG 13:18 LAX 21:18 JFK 00:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86