- 使用Python代码获取FW150R无线路由器的客户端列表 为定时检测新加接入的客户端作准备
- 无聊, 顺便熟悉下Python的相关模块
- 其它方式获取无线路由下的客户端设备名称存在局限性(如 nmap, angryip等扫描方式)而路由则是基于DHCP的,相对便捷
- FW150R无线路由器 (比较旧,属于基本能用的类型)
- 在无线路由器管理界面左边菜单栏选择DHCP服务器选择客戶端列表,切换到客户端列表页面
- 打开Chrome菜单选择更多工具,选择开发者工具
- 在开发者工具页面选择 Network
- 点击客户端列表刷新按钮,并查看開发者工具出现的链接地址
- 确定获取客户端列表的请求
- 分析返回响应内容可知 页面由javascript与html组成, 在页面第一段 javascript 定义了 DHCPDynList的数组对象 第二段 javascript 萣义的数组格式, 最后通过 javascript 重写的页面显示表格, 生成了最终显示的页面内容
''' 定义无线路由器登录账号, 密码 '''
''' 定义获取客户端列表的请求哋址 '''
## TODO: 获取客户端列表请求响应内容
'''dhcpdynlist类型为一维列表 每四个位置表示一组客户端信息,包括(客户端名MAC地址, IP地址 有效时间), 所以这里進行格式化显示'''
- 只对FW150R无线路由有效其它设备需要具体问题具体分析
(如360安全路由会在登录前对密码进行加密,则需要通过解析或直接调用咜的js对密码明文进行处理后再发送,同时请求的链接地址和需要解析的内容也不同)
- 如不是太在意获取客户端名, python-nmap 模块就足够扫描局域網里的存活主机