- 論壇徽章:
- 0
|
寫了個腳本,讀取ip_list.txt文件中的設備ip,并通過snmpwalk對所讀取到的IP進行驗證。如果設備能獲取到相應信息(出現(xiàn)Timeticks的信息),就將IP地址及相應描述結果輸出到指定文件內;如果無法獲取到相應信息(Timeout),將結果保存到另一指定文件。
問題:發(fā)現(xiàn)設備通過snmpwalk v1或snmpwalk v2c都能poll通,但是并不向snmpwalk_v1_v2c_SysUpTime.txt,snmpwalk_v1_SysUpTime.txt,snmpwalk_v2c_SysUpTime.txt這3個文件寫日志。
不知道啥原因,請高手指點!
下面是snmpwalk_test.sh腳本內容:
#!/bin/bash
########################## SNMPWALK DEVICE TEST ###########################
IPLIST=$(cat ./ip_list.txt | sed 's/\t/:/g' )
echo "####IP#### 僅能被v2c版本驗證 #######sysDescr#######" >> snmpwalk_v2c_SysUpTime.txt
echo "####IP#### 僅能被v1版本驗證 #######sysDescr#######" >> snmpwalk_v1_SysUpTime.txt
echo "####IP#### 能同時被v1和v2c驗證 #######sysDescr#######" >> snmpwalk_v1_v2c_SysUpTime.txt
echo "####IP#### 既不能被v1驗證,也不能被v2c驗證 #######sysDescr#######" >> snmpwalk_no_SysUpTime.txt
echo "Running..........Please wait!"
for line in $IPLIST
do
ip=$(echo $line | awk -F':' '{print $1}')
community=$(echo $line | awk -F':' '{print $2}')
if [ -z "$community" ] ; then
echo "$ip的community值(-c 參數(shù)值)為空。。!snmpwalk執(zhí)行失。。。!"
continue
fi
COMMAND1="snmpwalk -v1 -c $community $ip SysUptime 1>/dev/null 2>&1 &"
COMMAND2c="snmpwalk -v2c -c $community $ip SysUptime 1>/dev/null 2>&1 &"
str1=$($COMMAND1)
if [ "$?" -eq 0 ]
then
str2c=$($COMMAND2c)
if [ "$?" -eq 0 ]
then
echo "$ip $str1" >> snmpwalk_v1_v2c_SysUpTime.txt
echo "$ip $str2c" >> snmpwalk_v1_v2c_SysUpTime.txt
else
echo "$ip $str1" >> snmpwalk_v1_SysUpTime.txt
fi
else
str2c=$($COMMAND2c)
if [ "$?" -eq 0 ]
then
echo "$ip $str2c" >> snmpwalk_v2c_SysUpTime.txt
else
echo "$ip $str2c" >> snmpwalk_no_SysUpTime.txt
fi
fi
done
ip_list.txt文件的內容如下:
#IP地址 Community
192.168.1.1 public1
192.168.1.2 public2
192.168.2.1 public3
ip_list.txt文件的列用TAB鍵隔開。
在測試中發(fā)現(xiàn),
(1)snmpwalk -v2c -c public1 192.168.1.1 SysUpTime
Timeout: No Response from 11.158.27.100
這臺設備snmpwalk不通,可以正常寫入到snmpwalk_no_SysUpTime.txt文件中。
(2)執(zhí)行snmpwalk -v2c -c public1 192.168.2.1 SysUptime的命令是可以返回結果的
snmpwalk -v2c -c public1 192.168.2.1 SysUpTime
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3064858184) 354 days, 17:29:41.84
但是能poll通的設備IP并不記錄到snmpwalk_v2c_SysUpTime.txt文件中。
|
|