Selbst einfache Traces können sehr schnell extrem umfangreich werden. Als Lösung bietet LANCOM einen Filter, der auf eine Volltextsuche zurückgreift, um so die Traces effektiv nach den relevanten Angaben zu filtern. Als Beispiel dient der folgende Trace. Er zeigt einen einfachen IP-Router Trace auf einem Gerät mit drei Internetanbindungen, über die Pings an verschiedene Ziele laufen. Es werden alle Pakete angezeigt, die vom IP-Router des LANCOM verarbeitet werden:
root@PM1751:/
> trace # ip-router
IP-Router ON
root@PM1751:/
>
[IP-Router] 2010/12/20 17:11:06,430
IP-Router Rx (LAN-1, INTRANET3, RtgTag: 3):
DstIP: 4.4.4.1, SrcIP: 192.168.3.100, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0015, seq: 0x1cde
Route: WAN Tx (INTERNET3)
[IP-Router] 2010/12/20 17:11:06,430
IP-Router Rx (LAN-1, INTRANET1, RtgTag: 1):
DstIP: 11.11.11.1, SrcIP: 192.168.1.100, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0016, seq: 0x1ccf
Route: WAN Tx (INTERNET1)
[IP-Router] 2010/12/20 17:11:06,430
IP-Router Rx (INTERNET1, RtgTag: 1):
DstIP: 192.168.1.100, SrcIP: 11.11.11.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo reply, id: 0x0016, seq: 0x1ccf
Route: LAN-1 Tx (INTRANET1):
[IP-Router] 2010/12/20 17:11:06,430
IP-Router Rx (INTERNET3, RtgTag: 3):
DstIP: 192.168.3.100, SrcIP: 4.4.4.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo reply, id: 0x0015, seq: 0x1cde
Route: LAN-1 Tx (INTRANET3):
[IP-Router] 2010/12/20 17:11:06,600
IP-Router Rx (LAN-1, INTRANET2, RtgTag: 2):
DstIP: 3.3.3.1, SrcIP: 192.168.2.100, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0014, seq: 0x1cea
Route: WAN Tx (INTERNET2)
[IP-Router] 2010/12/20 17:11:06,600
IP-Router Rx (INTERNET2, RtgTag: 2):
DstIP: 192.168.2.100, SrcIP: 3.3.3.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo reply, id: 0x0014, seq: 0x1cea
Route: LAN-1 Tx (INTRANET2):
[IP-Router] 2010/12/20 17:11:07,430
IP-Router Rx (LAN-1, INTRANET1, RtgTag: 1):
DstIP: 11.11.11.1, SrcIP: 192.168.1.100, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0016, seq: 0x1cd0
Route: WAN Tx (INTERNET1)
[IP-Router] 2010/12/20 17:11:07,430
IP-Router Rx (LAN-1, INTRANET3, RtgTag: 3):
DstIP: 4.4.4.1, SrcIP: 192.168.3.100, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0015, seq: 0x1cdf
Route: WAN Tx (INTERNET3)
[IP-Router] 2010/12/20 17:11:07,430
IP-Router Rx (INTERNET1, RtgTag: 1):
DstIP: 192.168.1.100, SrcIP: 11.11.11.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo reply, id: 0x0016, seq: 0x1cd0
Route: LAN-1 Tx (INTRANET1):
[IP-Router] 2010/12/20 17:11:07,430
IP-Router Rx (INTERNET3, RtgTag: 3):
DstIP: 192.168.3.100, SrcIP: 4.4.4.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo reply, id: 0x0015, seq: 0x1cdf
Route: LAN-1 Tx (INTRANET3):
[IP-Router] 2010/12/20 17:11:07,600
IP-Router Rx (LAN-1, INTRANET2, RtgTag: 2):
DstIP: 3.3.3.1, SrcIP: 192.168.2.100, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0014, seq: 0x1ceb
Route: WAN Tx (INTERNET2)
[IP-Router] 2010/12/20 17:11:07,600
IP-Router Rx (INTERNET2, RtgTag: 2):
DstIP: 192.168.2.100, SrcIP: 3.3.3.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo reply, id: 0x0014, seq: 0x1ceb
Route: LAN-1 Tx (INTRANET2):
Das Zeitfenster in dem dieser Trace vorgenommen wurde beträgt lediglich zwei Sekunden und die Menge an Daten ist schon recht hoch. Um die Übersichtlichkeit zu verbessern wird der nächste Trace um ein Filterkriterium erweitert, die Gegenstelle. Hierzu wird ein @ nach dem normalen Trace Kommando gesetzt um anzuzeigen, dass Filterkriterien folgen. Die Filterkriterien beachten keine Groß- und Kleinschreibung und nur Datensätze in denen das Kriterium vorkommt werden angezeigt. Im nachfolgenden Beispiel wird auf die Gegenstelle INTERNET1 gefiltert:
root@PM1751:/
> trace # ip-router @ INTERNET1
IP-Router ON @ INTERNET1
[IP-Router] 2010/12/20 17:11:50,430
IP-Router Rx (LAN-1, INTRANET1, RtgTag: 1):
DstIP: 11.11.11.1, SrcIP: 192.168.1.100, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0016, seq: 0x1cfb
Route: WAN Tx (INTERNET1)
[IP-Router] 2010/12/20 17:11:50,430
IP-Router Rx (INTERNET1, RtgTag: 1):
DstIP: 192.168.1.100, SrcIP: 11.11.11.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo reply, id: 0x0016, seq: 0x1cfb
Route: LAN-1 Tx (INTRANET1):
[IP-Router] 2010/12/20 17:11:51,430
IP-Router Rx (LAN-1, INTRANET1, RtgTag: 1):
DstIP: 11.11.11.1, SrcIP: 192.168.1.100, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0016, seq: 0x1cfc
Route: WAN Tx (INTERNET1)
[IP-Router] 2010/12/20 17:11:51,430
IP-Router Rx (INTERNET1, RtgTag: 1):
DstIP: 192.168.1.100, SrcIP: 11.11.11.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo reply, id: 0x0016, seq: 0x1cfc
Route: LAN-1 Tx (INTRANET1):
Wieder beträgt der Zeitrahmen des Traces zwei Sekunden, die Menge an Daten wurde aber schon deutlich reduziert. Lediglich die Daten zur Gegenstelle INTERNET1 werden angezeigt. Es können aber auch noch weitere Filterkriterien angegeben werden indem einfach ein Leerzeichen zwischen dem ersten und zweiten Kriterium gesetzt werden. Zusätzlich zum Leerzeichen können sowohl „+“ als auch „-“ als Operatoren verwendet werden. Hierbei gilt, bei einem „+“ müssen beide Kriterien erfüllt sein, bei einem „-“ darf das Kriterium nicht erfüllt sein und bei einem Leerzeichen muss eines der verknüpften Kriterien erfüllt sein. Die Möglichkeit, Strings die Operatoren enthalten, auch als Filter zu nutzen wird durch Anführungszeichen umgesetzt:
root@PM1751:/
> trace # ip-router @ INTERNET1 +"echo request"
IP-Router ON @ INTERNET1 +"echo request"
[IP-Router] 2010/12/20 17:12:06,430
IP-Router Rx (INTERNET1, RtgTag: 1):
DstIP: 192.168.1.100, SrcIP: 11.11.11.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0016, seq: 0x1d0b
Route: LAN-1 Tx (INTRANET1):
[IP-Router] 2010/12/20 17:12:07,430
IP-Router Rx (INTERNET1, RtgTag: 1):
DstIP: 192.168.1.100, SrcIP: 11.11.11.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo request, id: 0x0016, seq: 0x1d0c
Route: LAN-1 Tx (INTRANET1):
Jetzt werden nur noch die Daten des Traces angezeigt, die zusätzlich zur Gegenstelle INTERNET1 auch „echo request“ enthalten. Somit hat man eine einfache Ansicht erhalten, in der nur die Antworten eines Pings, die von der entsprechenden Gegenstelle stammen. Es ist zudem möglich mehrere Traces gleichzeitig zu nutzen und nach unterschiedlichen Kriterien zu filtern. Zum Beispiel ist es möglich zum IP-Router Trace auch noch einen Ethernet Trace zu starten, um sich das zum Ping zugehörige Paket auf dem Ethernet anzuschauen:
root@PM1751:/
> trace # ip-router @ INTERNET1 +"echo reply"
IP-Router ON @ INTERNET1 +"echo reply"
root@PM1751:/
> trace # eth @ ICMP +“echo reply”
Ethernet ON @ icmp +"echo reply"
[IP-Router] 2010/12/21 14:17:21,000
IP-Router Rx (INTERNET1, RtgTag: 1):
DstIP: 192.168.1.100, SrcIP: 11.11.11.1, Len: 84, DSCP/TOS: 0x00
Prot.: ICMP (1), echo reply, id: 0x0002, seq: 0x2654
Route: LAN-1 Tx (INTRANET1):
[Ethernet] 2010/12/21 14:17:21,000
Sent 98 byte Ethernet packet via LAN-1:
HW Switch Port : ETH-1
-->IEEE 802.3 Header
Dest : 00:a0:57:12:a9:21 (LANCOM 12:a9:21)
Source : 00:a0:57:12:f7:81 (LANCOM 12:f7:81)
Type : IPv4
-->IPv4 Header
Version : 4
Header Length : 20
Type of service : (0x00) Precedence 0
Total length : 84
ID : 18080
Fragment : Offset 0
TTL : 59
Protocol : ICMP
Checksum : 24817 (OK)
Src Address : 11.11.11.1
Dest Address : 192.168.1.100
-->ICMP Header
Msg : echo reply
Checksum : 18796 (OK)
Body : 00 00 00 02 00 00 26 54 ......&T
7e c9 6d 8c 00 00 00 00 ~.m.....
00 01 02 03 04 05 06 07 ........
08 09 0a 0b 0c 0d 0e 0f ........
10 11 12 13 14 15 16 17 ........
18 19 1a 1b 1c 1d 1e 1f ........
20 21 22 23 24 25 26 27 !"#$%&'
Mit dieser Vorgehensweise ist es möglich, in komplexen Traces ein Problem zu identifizieren, welches ohne Filterung schnell übersehen werden kann, beziehungsweise durch reine Prüfung der Konfiguration nur schwer zu finden ist. |
|