S
Shellby
Grünschnabel
Guten Tag, ich bin total neu hier und auch relativ neu was die Shell angeht, versuche aber mein bestes.
Folgendes, ich versuche ein Script zu schreiben welches Switche anpingen kann, mit den Uplink zum nächsten anzeigt, und mir die Mac Adresse ausgibt. Dafür habe ich dieses hier mal für was anderes geschrieben würde das aber gerne als Grundlage nehmen.
#!/bin/bash
hw=$(echo $1 | sed 's/:/ /g')
for all in 196.1.1.182 196.1.1.190 196.1.1.183 196.1.1.187; do
#iso.3.6.1.2.1.3.1.1.2.30.1.196.1.1.61 = Hex-STRING: 00 50 56 AF 0A 7F
#iso.3.6.1.2.1.4.22.1.2.30.196.1.1.61 = Hex-STRING: 00 50 56 AF 0A 7F
#iso.3.6.1.2.1.3.1.1.2.30.1.196.1.1.8 = Hex-STRING: 00 50 56 AF 48 3A
#iso.3.6.1.2.1.4.22.1.2.30.196.1.1.8 = Hex-STRING: 00 50 56 AF 48 3A
portsnmp=$(snmpwalk -v 2c -c public $all SNMPv2-SMI::mib-2.17.4.3.1.1 | grep -i "$hw" | sed s/mib-2.17.4.3.1.1./mib-2.17.4.3.1.2./ | awk '{print $1}')
if [ "_xx_$portsnmp" = "_xx_" ]; then
echo "not found on " $all
else
port=$(snmpwalk -v 2c -c public $all $portsnmp | awk '{print $4}')
echo $all " Port $port"
fi
done
tu mich nur leider aktuell irgendwie schwer damit.
Jemand eine Idee?
Folgendes, ich versuche ein Script zu schreiben welches Switche anpingen kann, mit den Uplink zum nächsten anzeigt, und mir die Mac Adresse ausgibt. Dafür habe ich dieses hier mal für was anderes geschrieben würde das aber gerne als Grundlage nehmen.
#!/bin/bash
hw=$(echo $1 | sed 's/:/ /g')
for all in 196.1.1.182 196.1.1.190 196.1.1.183 196.1.1.187; do
#iso.3.6.1.2.1.3.1.1.2.30.1.196.1.1.61 = Hex-STRING: 00 50 56 AF 0A 7F
#iso.3.6.1.2.1.4.22.1.2.30.196.1.1.61 = Hex-STRING: 00 50 56 AF 0A 7F
#iso.3.6.1.2.1.3.1.1.2.30.1.196.1.1.8 = Hex-STRING: 00 50 56 AF 48 3A
#iso.3.6.1.2.1.4.22.1.2.30.196.1.1.8 = Hex-STRING: 00 50 56 AF 48 3A
portsnmp=$(snmpwalk -v 2c -c public $all SNMPv2-SMI::mib-2.17.4.3.1.1 | grep -i "$hw" | sed s/mib-2.17.4.3.1.1./mib-2.17.4.3.1.2./ | awk '{print $1}')
if [ "_xx_$portsnmp" = "_xx_" ]; then
echo "not found on " $all
else
port=$(snmpwalk -v 2c -c public $all $portsnmp | awk '{print $4}')
echo $all " Port $port"
fi
done
tu mich nur leider aktuell irgendwie schwer damit.
Jemand eine Idee?