Cisco IOS Netzwerkverkehr mitschneiden

Bei meinem ersten Eintrag in der Kategorie Cisco IOS soll es sich um das Thema Traffic Capture / Netzwerkverkehr mitschneiden auf Cisco IOS Routern drehen. Bei den Routern ist das Ganze leider nicht so intuitiv wie auf ASA Firewalls, jedoch durchaus machbar. Ich versuche hier genau zu erklären, was die einzelnen Kommandos machen. Weiter unten findet ihr die gesamten Kommandos gebündelt.

Interessanter Traffic

zunächst wird eine Access-Liste erstellt, die den aufzuzeichnenden Traffic beschreibt. Wichtig ist, dass der Hin- und Rückweg beschrieben wird. In meinem Beispiel will ich sämtlichen Traffic aufzeichnen, der vom oder zum Host mit der IP 192.168.10.22 geht.
Die Nummer der Access-Liste sollte natürlich in eurer Konfiguration noch unbenutzt sein.

conf t
access-list 144 permit ip host 192.168.10.22 any
access-list 144 permit ip any host 192.168.10.22
exit

 

Erstellen eines Capture Buffer

Nun wird ein Capture Buffer erstellt, der unsere mitgeschnittenen Pakete speichern wird. Im Beispiel heißt er C-BUFFER. Der Name spielt jedoch keine Rolle. Anschließend wird er mit der oben erstellten Access-Liste verknüpft. Im Beispiel werden maximal 2 MB Daten im Buffer gehalten. Aktuelle Router können bis zu 10MB speichern. Mittels dem Kommando max-size wird die Paketgröße festgelegt. Das linear steht für einen linearen Buffer. Mittels circular könnte man den Buffer auch überschreiben, wenn er voll läuft.

monitor capture buffer C-BUFFER size 2048 max-size 1518 linear
monitor capture buffer C-BUFFER filter access-list 144

 

Erstellen eines Capture Point

Nun muss noch ein Capture Point erstellt und mit dem oben erstellten Buffer verknüpft werden. Wir wollen den Traffic in beiden Richtungen mitschneiden, deswegen das Keyword both. Hier gibt es noch einen kleinen Fallstrick: Beim Erstellen des Capture Points muss zwischen cef (Cisco Express Forwarding) und process-switched Paketen unterschieden werden. Jedes Paket, das den Router durchläuft und nicht fragmentiert wird, wird heutzutage normalerweise mittels cef geroutet. Dazu solltet ihr bereits das Kommando „ip cef“ in eurer Konfiguration haben. Process-switched sind nur noch die Pakete, die direkt an den Router gesendet werden. Im Zweifel einfach ausprobieren, das Kommando für process-switched habe ich auskommentiert drin.

monitor capture point ip cef C-POINT all both
!monitor capture point ip process-switched C-POINT both
monitor capture point associate C-POINT C-BUFFER

 

Starten des Captures

mittels nachfolgendem Kommando wird der Traffic Capture gestartet. Anschließend kann der aufzunehmende Traffic produziert werden.

monitor capture point start C-POINT

 

Stoppen des Captures

Wenn der Traffic „im Kasten“ ist, muss der Capture wieder gestoppt werden. Anschließend werden die Daten im pcap Format via tftp exportiert, sodass sie zur Analyse mit z.B. Wireshark geöffnet werden können.

monitor capture point stop C-POINT
monitor capture buffer C-BUFFER export tftp://1.2.3.4/filename.pcap

 

Aufräumen

Der Traffic ist im Kasten und exportiert. Zeit, die Konfiguration wieder aufzuräumen:

!no monitor capture point ip process-switched C-POINT both
no monitor capture point ip cef C-POINT all both
no monitor capture buffer C-BUFFER
conf t
no access-list 144
exit

 

Die gesamte Konfiguration

Für alle, die das Prinzip schon kennen und nur „schnell“ die Kommandos brauchen:

conf t
access-list 144 permit ip host 192.168.10.22 any
access-list 144 permit ip any host 192.168.10.22
exit
monitor capture buffer C-BUFFER size 2048 max-size 1518 linear
monitor capture buffer C-BUFFER filter access-list 144
monitor capture point ip cef C-POINT all both
!monitor capture point ip process-switched C-POINT both
monitor capture point associate C-POINT C-BUFFER
monitor capture point start C-POINT
!---
! Traffic produzieren
!---
monitor capture point stop C-POINT
monitor capture buffer C-BUFFER export tftp://1.2.3.4/filename.pcap
!----
!no monitor capture point ip process-switched C-POINT both
no monitor capture point ip cef C-POINT all both
no monitor capture buffer C-BUFFER
conf t
no access-list 144
exit

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.