DD-WRT:获取DHCP租约时间而非过期客户端的命令行

时间:2015-12-03 18:36:38

标签: dhcp dd-wrt

这是我的Buffalo WHR-HP-G54路由器(已安装 DD-WRT 已连接设备的示例:

  • 有源(传输)无线客户端。
  • DHCP租约时间尚未过期的客户端(在我的情况下配置为180分钟)。

IMAGE

当我用来通过SSH进入设备时,我想开发一些脚本来获取第二个表: DHCP客户列表
我现在能做的只是:

~# ssh root@192.168.8.202 -p 1022
root@192.168.8.202's password:
==========================================================

 ____  ___    __        ______ _____         ____  _  _
 | _ \| _ \   \ \      / /  _ \_   _| __   _|___ \| || |
 || | || ||____\ \ /\ / /| |_) || |   \ \ / / __) | || |_
 ||_| ||_||_____\ V  V / |  _ < | |    \ V / / __/|__   _|
 |___/|___/      \_/\_/  |_| \_\|_|     \_/ |_____|  |_|

                       DD-WRT v24
                   http://www.dd-wrt.com

==========================================================


BusyBox v1.4.2 (2007-08-15 14:58:26 CEST) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # arp -a
? (192.168.11.104) at 78:40:E4:E6:4B:1C [ether] on br0
? (192.168.11.121) at 64:9A:BE:56:EC:7F [ether] on br0
? (192.168.11.126) at <incomplete> on br0
? (192.168.11.110) at 40:B3:95:F2:3A:1A [ether] on br0
? (192.168.11.112) at F0:25:B7:38:00:81 [ether] on br0
? (192.168.11.108) at <incomplete> on br0
? (192.168.8.1) at 00:24:A5:C7:DD:BC [ether] on vlan1
? (192.168.11.103) at F0:24:75:52:0B:27 [ether] on br0
? (192.168.11.125) at 04:4B:ED:6B:8E:73 [ether] on br0
? (192.168.11.125) at 04:4B:ED:6B:8E:73 [ether] on br0
~ # more /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.11.104   0x1         0x2         78:40:E4:E6:4B:1C     *        br0
192.168.11.121   0x1         0x2         64:9A:BE:56:EC:7F     *        br0
192.168.11.126   0x1         0x0         60:AF:6D:48:5E:E5     *        br0
192.168.11.110   0x1         0x2         40:B3:95:F2:3A:1A     *        br0
192.168.11.112   0x1         0x2         F0:25:B7:38:00:81     *        br0
192.168.11.108   0x1         0x0         58:7F:57:DB:BE:15     *        br0
192.168.8.1      0x1         0x2         00:24:A5:C7:DD:BC     *        vlan1
192.168.11.103   0x1         0x2         F0:24:75:52:0B:27     *        br0
192.168.11.127   0x1         0x2         48:5A:3F:47:3A:7C     *        br0
192.168.11.125   0x1         0x2         04:4B:ED:6B:8E:73     *        br0

但是路由器的ARP列表不是一回事 我在这里研究过:

~ # ls /proc/net/ -la
dr-xr-xr-x    6 root     root            0 Dec  3 19:29 .
dr-xr-xr-x   34 root     root            0 Jan  1  2000 ..
-r--r--r--    1 root     root            0 Dec  3 19:29 arp
-r--r--r--    1 root     root            0 Dec  3 19:29 dev
-r--r--r--    1 root     root            0 Dec  3 19:29 dev_mcast
dr-xr-xr-x    2 root     root            0 Dec  3 19:29 drivers
-r--r--r--    1 root     root            0 Dec  3 19:29 igmp
-r--r-----    1 root     root            0 Dec  3 19:29 ip_conntrack
-r--r--r--    1 root     root            0 Dec  3 19:29 ip_mr_cache
-r--r--r--    1 root     root            0 Dec  3 19:29 ip_mr_vif
-r--r--r--    1 root     root            0 Dec  3 19:29 ip_tables_matches
-r--r--r--    1 root     root            0 Dec  3 19:29 ip_tables_names
-r--r--r--    1 root     root            0 Dec  3 19:29 ip_tables_targets
dr-xr-xr-x    2 root     root            0 Dec  3 19:29 ipt_recent
-rw-r--r--    1 root     root            0 Dec  3 19:29 layer7_numpackets
-r--r--r--    1 root     root            0 Dec  3 19:29 mcfilter
-r--r--r--    1 root     root            0 Dec  3 19:29 netlink
-r--r--r--    1 root     root            0 Dec  3 19:29 netstat
-r--r--r--    1 root     root            0 Dec  3 19:29 packet
-r--r--r--    1 root     root            0 Dec  3 19:29 pppoe
-r--r--r--    1 root     root            0 Dec  3 19:29 psched
-r--r--r--    1 root     root            0 Dec  3 19:29 raw
-r--r--r--    1 root     root            0 Dec  3 19:29 route
-r--r--r--    1 root     root            0 Dec  3 19:29 rt_cache
-r--r--r--    1 root     root            0 Dec  3 19:29 snmp
-r--r--r--    1 root     root            0 Dec  3 19:29 sockstat
-r--r--r--    1 root     root            0 Dec  3 19:29 softnet_stat
dr-xr-xr-x    2 root     root            0 Dec  3 19:29 stat
-r--r--r--    1 root     root            0 Dec  3 19:29 tcp
-r--r--r--    1 root     root            0 Dec  3 19:29 udp
-r--r--r--    1 root     root            0 Dec  3 19:29 unix
dr-xr-xr-x    2 root     root            0 Dec  3 19:29 vlan
-r--r--r--    1 root     root            0 Dec  3 19:29 wireless
-r--r--r--    1 root     root            0 Dec  3 19:29 wl0

但我无法知道其中一些文件是否包含我的数据。

有没有办法通过命令行获取? 也许 DHCP Lease Not Expired Clients 的一些通用Linux方法可行,但我不知道。

1 个答案:

答案 0 :(得分:2)

只要DD-WRT使用udhcpd来处理其DHCP服务,就可以在具有相当明显名称的MySearchableModel.search('foo') 找到实际的DHCP租约,例如:

/tmp

对运行DD-WRT的Buffalo WHR-HP-GN和WHR-HP-G54进行了测试。

(谢谢你,@ ChrisN)