Welche Switchports sind unbenutzt?
Wenn man den Good Practices von Cisco folgt, disabled man alle nicht genutzten Ports und schiebt sie bei einem Switch auch noch in ein spezielles ‚Park-VLAN‘. Die Idee dahinter ist mehr Sicherheit. Ein Port der disabled ist, kann von einem Angreifer nicht genutzt werden und die geheimgehaltene VLAN-ID des ‚Park-VLANs‘ erschwert, falls dieser Port nicht disabled sein sollte, immer noch einen Angriff mittels VLAN-Hopping,
Netter Nebeneffekt ist, dass unbenutzte Ports leicht erkannt werden können. Doch was ist, wenn diese Good Practices nicht immer gelebt werden und man nun ohne diese Hinweise einen ungenutzten Port auf einem Cisco-Switch finden muss?
Der offensichtliche Befehle show interface status hilft hier nur weiter, falls das Interface gerade jetzt genutzt wird. Man kann dadurch das Interface ausschließen, falls es up ist. Ist der Status hingegen down, weiß man nicht, ob es nicht noch vor zehn Minuten verwendet wurde. Eine ähnliche Aussage kann man auch über den Befehl show mac address-table erzielen. Man muss also anders vorgehen. Im Folgenden stelle ich kurz drei Möglichkeiten vor. Sie sind nicht alle auf jedem Switch nutzbar, daher ist es gut, alle zu kennen.
Logging
Sofern man mitloggt, wenn ein Port seinen Status von up zu down und umgekehrt ändert, kann man einfach im Log nach der letzten Zustandsänderung suchen lassen.
Das sieht dann im Log zum Beispiel so aus:
Jul 22 08:23:17: %LINK-3-UPDOWN: Interface FastEthernet0/6, changed state to up
Hier ist dann klar, wann ein Port das letzte mal verwendet wurde (falls überhaupt).
Nachteil dieser Methode ist, dass sie das Logging aller Port-Statusänderungen voraussetzt, was zum Beispiel im Access LAN nicht unbedingt gegeben ist, um die Logs nicht zu sehr anschwellen zu lassen.
Catalyst 4500: show interface link
Die 4500er-Switche von Cisco bieten einen sehr praktischen Befehl:
show interface [{interface id}] link
Die Ausgabe dieses Befehls zeigt auf einen Blick, wann ein Interface das letzte mal genutzt wurde:
Port Name Down Time Down Since
Te1/1 11 weeks, 7 hours, 13 minutes 09 secs 05:12:44 Sun Oct 12 1924
[..]
Te1/9 00 secs
[..]
Statistik eine Interfaces ansehen
Wenn man schon ein bestimmtes Interface im Verdacht hat, nicht genutzt zu werden, dann hilft dieser Befehl weiter:
show interface [{interface id}]
[..]
Last input 00:00:07, output 00:00:01, output hang never
[..]
In der sehr gesprächigen Ausgabe dieses Befehls sieht man, wann das letzte mal Daten in oder aus dem Switchport geflossen sind.
Diese Auswertung ist etwas unbequem zu lesen. Einfacher geht es mit einem
show interface {interface id} counters
Setzt man den Befehl ohne Angabe einer Interface-ID ab, werden alle Interfaces gelistet und man kann Interfaces Ausschau halten, in denen die Counter auf 0 stehen:
Port InBytes InUcastPkts InMcastPkts InBcastPkts
Te1/1 0 0 0 0
[..]
Te1/9 11441492 49411 0 0
[..]
Te1/13 2568856320223 4755084550 334858 12896
[..]
Man muss allerdings aufpassen. Wurden die Interface Counter in jüngerer Zeit gelöscht, nützen einem diese show-Befehle nicht viel. Ob und wann die Interface Counter für einen Switchport gelöscht wurden, bekommt man so heraus:
show interface {interface id}
[..]
Last clearing of "show interface" counters 00:16:48
Fazit
Es ist hilfreich, zu wissen, wie man unbenutzte Ports auch dann findet, wenn es keine aktuellen Port Descriptions gibt oder die Best Practices für ungenutzte Ports nicht befolgt werden. Das hört sich zwar nach einer trivialen Aufgabe an, und das ist sie auch. Dennoch ist es zeitsparend, wenn man die Methoden schon kennt, wenn man sie braucht, anstatt dann erst zu überlegen und zu recherchieren.