32-битные счетчики sysUpTime

C 497 дня (4-миллиарда timeticks) обновляется значение Uptime при опросе sysUpTime (DISMAN-EVENT-MIB::sysUpTimeInstance или .1.3.6.1.6.3.10.2.1.3). Такое поведение аналогично на всех устройствах, включая Cisco. 64-битного счетчика timeticks (1/100 секунды), по аналогии с Counter64,  пока не существует. Для Cisco, Alcatel и многих других устройств (даже ZTE, но не D-Link) есть альтернатива – опрашивать количество секунд со старта (не epoch seconds) (SNMP-FRAMEWORK-MIB::snmpEngineTime или .1.3.6.1.2.1.1.3.0) и конвертировать во время самостоятельно скриптом.

Читать дальше

bash скрипт по генерации списка портов на основе диапазона или последовательности

Набросал скрипт по генерации списка портов на основе диапазона или последовательности. Ест любые известные мне комбинации, использовал для многих кейсов после получения списка из конфига/консоли. Для генерации из диапазона используется подвызов eval.

#!/bin/bash
echo "$@" | sed 's/,/ /g' | tr " " "\n" | sed 's/[[:space:]]//g' | grep '[0-9]' | while read port
do
RANGE_DETECTION=$(echo $port | grep "-")
if [[ "$RANGE_DETECTION" == "" ]]; then
 echo $port
else
 port=$(echo $port | sed 's/-/../')
 echo `eval echo {$port}` | tr " " "\n"
fi
done

Usage:

$ port_list_from_range 1 
 1

$ port_list_from_range 10-11,13-14
 10
 11
 13
 14

$ port_list_from_range 10-11,13-14 23,24-28
 10
 11
 13
 14
 23
 24
 25
 26
 27
 28


Читать дальше