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.