浏览量 4301
2014/01/30 17:33
以下脚本是为了在EPON环境中通过IP或者MAC自动查询对应的物理端口的举例。
这三个脚本的作用依次是ROUTER脚本登陆路由器查询IP对应的MAC地址,查询前可能需要先用ping测试一下IP是否存在。
OLT脚本登陆OLT并查询出MAC是从哪个ONU学来的。
TRP脚本通过分析 out.log中的文件 计算出对应的ONU 并登陆到ONU上。最后手动输入 show mac macaddress 查看时哪个端口。TRP脚本需要根据实际环境自行更改。
[root@localhost ~]# cat ROUTER
[cc lang="bash"]
#!/bin/bash
tmptty=`tty`
tmptty=`basename $tmptty`
tmpname=`whoami`
echo -n "Enter IP:"
read ipa
ip="ROUTERIP"
inp1="admin"
inp2="password
inp3="show arp | include $ipa"
inp4="exit"
inputfile=in
outputfile=out.log
rm -fr $inputfile
rm -fr $outputfile
mknod $inputfile p
touch $outputfile
exec 7<>$outputfile
exec 8<>$inputfile
telnet $ip< >&7 &
sleep 2;echo $inp1>>$inputfile
sleep 2;echo $inp2>>$inputfile
sleep 2;echo $inp3>>$inputfile
sleep 2;echo $inp4>>$inputfile
tail -f $outputfile &
while true
do
read str
if [[ $str = "quit" || $str = "exit" ]]
then echo $str >> $inputfile exit
else echo $str >> $inputfile
fi
done
#kill -2 $!
[/cc]
[root@localhost ~]# cat OLT
[cc lang="bash"]
#!/bin/bash
tmptty=`tty`
tmptty=`basename $tmptty`
tmpname=`whoami`
echo -n "Enter MAC:"
read mac
ip="OLTIP"
inp1="admin"
inp2="password"
inp3="show mac $mac"
inp4="exit"
inputfile=in
outputfile=out.log
rm -fr $inputfile
rm -fr $outputfile
mknod $inputfile p
touch $outputfile
exec 7<>$outputfile
exec 8<>$inputfile
telnet $ip< >&7 &
sleep 2;echo $inp1>>$inputfile
sleep 2;echo $inp2>>$inputfile
sleep 2;echo $inp3>>$inputfile
sleep 2;echo $inp4>>$inputfile
tail -f $outputfile &
while true
do
read str
if [[ $str = "quit" || $str = "exit" ]]
then echo $str >> $inputfile exit
else echo $str >> $inputfile
fi
done
[/cc]
[root@localhost ~]# cat trp
[cc lang="bash"]
#!/bin/bash
a=$[14*(`cat out.log | grep epon-onu | gawk '{print $4}' | sed '2,$d' | sed 's/\(.*\)1\/1\///' | sed
's/:\(.*\)//'`-1)+`cat out.log | grep epon-onu | gawk '{print $4}' |sed '2,$d' |sed 's/\(.*\)://'`]
b=$[112+14*(`cat out.log | grep epon-onu | gawk '{print $4}' | sed '2,$d' | sed 's/\(.*\)1\/2\///' |
sed 's/:\(.*\)//'`-1)+`cat out.log | grep epon-onu | gawk '{print $4}' |sed '2,$d' |sed 's/\(.*\):/
/'`]
if [ $a -lt 112 ] && [ $a -gt 0 ]
then
echo "telnet 192.168.10.$a"
telnet 192.168.10.$a
else
echo "telnet 192.168.10.$b"
telnet 192.168.10.$b
fi
[/cc]
192.168.10.X是ONU的管理IP段
上一篇 搜索 下一篇