几天来我一直在想办法做到这一点,但还没有想出任何办法。理想情况下,这就是我想要做的:
在 Windows XP 机器上,我需要打开到远程主机的 SSH 连接,发送 arp 命令,并将命令的文本结果拉回以供客户端使用。我需要解析这些数据,最好生成一个 2D IP 和 MAC 地址数组。没有共享密钥,这一切都是通过始终不同的用户名和密码完成的,需要将它们通过变量输入到命令中,这些变量将使用基于远程主机的 WAN IP 的自动脚本从数据库中提取。
现在,如果我能获得 arp 表的文本,那么实际解析数据和创建数组将很容易。有没有办法通过 ssh 连接到远程主机,运行命令,然后以批处理脚本或 perl 脚本的形式将该命令中的数据返回给客户端(如果它将文本写入文件,我可以稍后从文件中读取它,我只需要它到达客户端)?
答案1
使用PuTTY plink
:
plink <server> arp
如果这不起作用:
echo arp | plink <server>
如果系统运行的是 Linux,并且该ip
命令可用,请使用它。格式更容易解析:
plink <server> /sbin/ip -o -f inet neigh
plink <server> /sbin/ip -o -f inet6 neigh
答案2
使用 PuTTY,您可以按如下方式指定用户名和密码:
- putty -pw 密码 用户名@主机名
此外,“-m”命令行开关还允许您指定一个文本文件,以便在连接后读取命令并在服务器上执行。
您可以从这里下载PuTTY:
PuTTY(免费、开源)
http://www.chiark.greenend.org.uk/~sgtatham/putty/