从Cradlepoint路由器动态获取DHCP信息


Dynamically Obtain DHCP info From Cradlepoint Router

我希望这不是太具体,但我正试图从摇篮点路由器中提取DHCP记录。利用SSH进入路由器,我可以运行"get/status/dhcpd/"并获得所有DHCP租约信息的JSON返回。

我不知道如何a)将输出写入文件,或者b)将输出作为要解析的变量。

理想的情况是有一个php脚本,可以通过SSH获取这些信息,然后将其写入文件。我不熟悉PHP SSH库。

如果其他人正在寻找答案:

CradlePoint有一个开发者API。我花了很长时间才找到,但您可以从API url获得json输出。这是在支架点上设置的每个配置。

如果你去http://cp/api/status/dhcpd/leases您可以看到每台连接的机器的所有DHCP信息。使用一个简单的cURL脚本,您可以通过传递登录凭据并将其作为JSON数组返回来访问它。

我花了将近一个月的时间寻找解决方案,在我发布到StackOverflow寻求帮助的同一天,我找到了API,它可以在这里找到:

http://dev.cradlepoint.com/doku.php?id=conventions

您可以使用phpseclib进行SSH。例如

<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}
echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>

链接:http://phpseclib.sourceforge.net/index.html