- 论坛徽章:
- 0
|
本帖最后由 gggg_gdsk 于 2013-07-02 16:13 编辑
问题是这样的 我要做一个网络ping监控程序 在服务器端执行ping命令得到返回值 在网页上显示
这个已经制作完了
php代码- $list = array();
- exec("ping -c $count -w 1 ".$row['ipaddress'], $list);
- $str = explode(":",$list[1]);
- $row['ipaddress'] = $str[1];
复制代码 但是现在网络结构变化了 通过服务器无法ping目标地址 需要在路由器上ping
服务器上 执行ping “exec("ping -c $count -w 1 ".$row['ipaddress'], $list);”不行
我想写一个expect脚本登陆到路由器上执行ping 然后返回结果到服务器端 再显示到网页上- ping -a 192.168.1.1 -c 1 192.168.1.2
- PING 192.168.1.2: 56 data bytes, press CTRL_C to break
- Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=251 time=7 ms
- --- 192.168.1.2 ping statistics ---
- 1 packet(s) transmitted
- 1 packet(s) received
- 0.00% packet loss
- round-trip min/avg/max = 7/7/7 ms
复制代码 路由器执行ping命令的结果- spawn telnet
- expect "telnet> "
- send "open 192.168.1.1\r"
- expect "Username:"
- send "$USER\r"
- expect "Password:"
- send "$PASSWD\r"
- expect "<router>"
- send "ping -a 192.168.1.1 -c 1 192.168.1.2 \r"
- expect -re {PING 192.168.1.2: 56 data bytes, press CTRL_C to break\s+(.*)\r\n\r\n\s+--- 192.168.1.2 ping statistics ---}
复制代码 expect脚本
我用$expect_out(1,string)得到 “Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=251 time=7 ms”
但是我现在不知道怎么把上面这个返回到我的网页中
|
|