특정 SNMP OID에 대한 네트워크 범위 폴링

특정 SNMP OID에 대한 네트워크 범위 폴링

쉘 스크립트는 특정 SNMP OID에 대한 네트워크 범위를 검색합니다.

#!/bin/bash

# snmpget command poll the network range for certain OIDs

for (( i=254; $i; i=$i-1 )) do 
    host=10.77.32.$i; 
    snmpget -v 2c -c public -t 0.5 -r 1 $host iso.3.6.1.2.1.2.2.1.6.1 iso.3.6.1.2.1.2.2.1.6.2 iso.3.6.1.2.1.2.2.1.6.16; 
done;
read -p 'press Enter to continue...' 

두 옵션 모두에 대해 스크립트를 약간 수정할 수 있습니까?

  1. 확장된 설문조사: 10.77.xx
  2. 다른 MAC은 건너뛰고 대상 MAC 주소가 있는 OID만 인쇄합니다.

즉, 네트워크 범위는 특정 OID를 폴링해야 하며 해당 OID에 있는 MAC를 대상으로 하며 이를 인쇄해야 합니다. 다른 MAC 주소는 건너뜁니다. 일부 OID가 있지만 대상 MAC 주소가 포함되지 않은 경우에도 인쇄되지 않습니다.

...
Timeout: No Response from 10.77.32.242.
Timeout: No Response from 10.77.32.241.
iso.3.6.1.2.1.2.2.1.6.1 = Hex-STRING: 00 09 4B EF D2 02 
iso.3.6.1.2.1.2.2.1.6.2 = Hex-STRING: E4 46 C5 B7 93 14 
Timeout: No Response from 10.77.32.239.
Timeout: No Response from 10.77.32.238.
...

두 번째 옵션은 어렵습니다. 범위를 확장하는 것으로 충분합니다.

관련 정보