ADC

Verfolgung der Pakete eines NetScaler Clusters

Das NetScaler-Betriebssystem bietet ein Hilfsprogramm namens ns trace, mit dem Sie einen Dump der Pakete abrufen können, die von einer Appliance empfangen und gesendet werden. Das Dienstprogramm speichert die Pakete in Ablaufverfolgungsdateien. Sie können diese Dateien verwenden, um Probleme im Paketfluss zu den Clusterknoten zu debuggen. Die Trace-Dateien müssen mit der Wireshark-Anwendung betrachtet werden.

Einige herausragende Aspekte des Dienstprogramms ns Trace sind:

  • Kann so konfiguriert werden, dass Pakete selektiv mit klassischen Ausdrücken und Standardausdrücken verfolgt werden.
  • Kann den Trace in mehreren Formaten erfassen: ns-Trace-Format (.cap) und TCP-Dump-Format (.pcap).
  • Kann die Trace-Dateien aller Clusterknoten auf dem Konfigurationskoordinator aggregieren.
  • Kann mehrere Trace-Dateien zu einer einzigen Trace-Datei zusammenführen (nur für.cap-Dateien).

Sie können das Dienstprogramm ns trace von der NetScaler-Befehlszeile oder der NetScaler-Shell aus verwenden.

So verfolgen Sie Pakete einer eigenständigen Appliance

Führen Sie den Befehl start ns trace auf der Appliance aus. <date-timestamp>Der Befehl erstellt Protokolldateien im Verzeichnis /var/nstrace/. Die Namen der Trace-Dateien haben die Form nstrace<id>.cap.

Sie können den Status anzeigen, indem Sie den Befehl show ns trace ausführen. Sie können die Verfolgung der Pakete beenden, indem Sie den Befehl stop ns trace ausführen.

Hinweis

Sie können das Dienstprogramm ns trace auch von der NetScaler-Shell aus ausführen, indem Sie die Datei nstrace.sh ausführen. Es wird jedoch empfohlen, das Dienstprogramm ns trace über die NetScaler-Befehlszeilenschnittstelle zu verwenden.

So verfolgen Sie Pakete eines Clusters

Sie können die Pakete auf allen Clusterknoten verfolgen und alle Trace-Dateien auf dem Konfigurationskoordinator abrufen.

Führen Sie den Befehl start ns trace auf der Cluster-IP-Adresse aus. Der Befehl wird weitergegeben und auf allen Clusterknoten ausgeführt. Die Trace-Dateien werden in einzelnen Clusterknoten im Verzeichnis /var/nstrace/<date-timestamp> gespeichert. Die Namen der Trace-Dateien haben die Form nstrace<id>_node<id>.cap.

Sie können die Ablaufverfolgungsdateien jedes Knotens verwenden, um die Knoten Operationen zu debuggen. Wenn Sie jedoch die Trace-Dateien aller Clusterknoten an einem Ort haben möchten, müssen Sie den Befehl stop ns trace auf der Cluster-IP-Adresse ausführen. Die Trace-Dateien aller Knoten werden auf den Cluster-Konfigurationskoordinator im Verzeichnis<date-timestamp> /var/nstrace/ wie folgt heruntergeladen:

Cluster-Trace

Mehrere Trace-Dateien zusammenführen

Sie können aus den Trace-Dateien eine einzelne Datei vorbereiten (wird nur unterstützt für. Cap-Dateien), die von den Clusterknoten abgerufen wurden. Die einzelnen Trace-Dateien geben Ihnen einen kumulativen Überblick über den Verlauf der Cluster-Pakete. Die Trace-Einträge in der einzelnen Trace-Datei werden nach der Uhrzeit sortiert, zu der die Pakete im Cluster empfangen wurden.

Um die Ablaufverfolgungsdateien zusammenzuführen, geben Sie in der NetScaler-Shell Folgendes ein:

> nstracemerge.sh -srcdir \<DIR\> -dstdir \<DIR\> -filename \<name\> -filesize \<num\>

Hierbei gilt:

  • srcdir ist das Verzeichnis, aus dem die Trace-Dateien zusammengeführt werden. Alle Trace-Dateien in diesem Verzeichnis werden zu einer einzigen Datei zusammengeführt.
  • dstdir ist das Verzeichnis, in dem die zusammengeführte Trace-Datei erstellt wird.
  • Filename ist der Name der Trace-Datei, die erstellt wird.
  • Filesize ist die Größe der Trace-Datei.

Beispiele

Im Folgenden finden Sie einige Beispiele für die Verwendung des Dienstprogramms ns trace zum Filtern von Paketen.

  • So verfolgen Sie die Pakete auf den Backplane-Schnittstellen von drei Knoten:

    Mit klassischen Ausdrücken:

     > start nstrace -filter "INTF == 0/1/1 && INTF == 1/1/1 && INTF == 2/1/1"
    

    Verwendung von Standardausdrücken:

     > start nstrace -filter "CONNECTION.INTF.EQ("0/1/1") && CONNECTION.INTF.EQ("1/1/1") && CONNECTION.INTF.EQ("2/1/1")"
    
  • Um die Pakete von einer Quell-IP-Adresse 10.102.34.201 oder von einem System zu verfolgen, dessen Quellport größer als 80 ist und der Dienstname nicht „s1” ist:

    Klassische Ausdrücke verwenden

     > start nstrace -filter \"SOURCEIP == 10.102.34.201 \|| \(SVCNAME != s1 && SOURCEPORT > 80)\"
    

    Verwenden von Standardausdrücken

     > start nstrace -filter \"CONNECTION.SRCIP.EQ\(10.102.34.201) \|| \(CONNECTION.SVCNAME.NE\(\"s1\") && CONNECTION.SRCPORT.GT\(80))\"
    

Hinweis

Weitere Informationen zu Filtern, die in ns trace verwendet werden, finden Sie unter ns trace.

Erfassen von SSL-Sitzungsschlüsseln während einer Ablaufverfolgung

Wenn Sie den Befehl “start ns trace” ausführen, können Sie den neuen Parameter capsslkeys so festlegen, dass die SSL-Masterschlüssel für alle SSL-Sitzungen erfasst werden. Wenn Sie diesen Parameter angeben, wird zusammen mit dem Paket-Trace eine Datei mit dem Namen nstrace.sslkeys generiert. Diese Datei kann in Wireshark importiert werden, um den SSL-Verkehr in der entsprechenden Trace-Datei zu entschlüsseln.

Diese Funktion ähnelt Webbrowsern, die Sitzungsschlüssel exportieren, die später in Wireshark importiert werden können, um SSL-Verkehr zu entschlüsseln.

Vorteile der Verwendung von SSL-Sitzungsschlüsseln

Im Folgenden sind die Vorteile der Verwendung von SSL-Sitzungsschlüsseln aufgeführt:

  1. Generiert kleinere Trace-Dateien, die die zusätzlichen Pakete, die durch den SSLPLAIN-Erfassungsmodus erstellt wurden, nicht enthalten.
  2. Bietet die Möglichkeit, Klartext [SP (1] aus dem Trace anzuzeigen und zu wählen, ob die Masterschlüsseldatei gemeinsam genutzt werden soll oder ob vertrauliche Daten geschützt werden sollen, indem sie nicht gemeinsam genutzt werden.

Einschränkungen bei der Verwendung von SSL-Sitzungsschlüsseln

Im Folgenden sind die Einschränkungen bei der Verwendung von SSL-Sitzungsschlüsseln aufgeführt:

  1. SSL-Sitzungen können nicht entschlüsselt werden, wenn die ersten Pakete der Sitzung nicht erfasst werden.
  2. SSL-Sitzungen können nicht erfasst werden, wenn der FIPS-Modus (Federal Information Processing Standard) aktiviert ist.

So erfassen Sie SSL-Sitzungsschlüssel mithilfe der Befehlszeilenschnittstelle (CLI)

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um SSL-Sitzungsschlüssel in einer Ablaufverfolgungsdatei zu aktivieren oder zu deaktivieren und den Ablaufverfolgungsvorgang zu überprüfen.

> start nstrace -capsslkeys ENABLED
> show nstrace
Example
> start nstrace -capsslkeys ENABLED
> show nstrace
      State:  RUNNING          Scope:  LOCAL            TraceLocation:  "/var/nstrace/04May2016_17_51_54/..."
      Nf:  24                  Time:  3600              Size:  164               Mode:  TXB NEW_RX
      Traceformat:  NSCAP      PerNIC:  DISABLED        FileName:  04May2016_17_51_54 Link:  DISABLED
      Merge:  ONSTOP           Doruntimecleanup:  ENABLED TraceBuffers:  5000      SkipRPC:  DISABLED
      SkipLocalSSH:  DISABLED  Capsslkeys:  ENABLED     InMemoryTrace:  DISABLED
 Done

So konfigurieren Sie SSL-Sitzungsschlüssel über die NetScaler GUI

  1. Navigieren Sie zu Konfiguration > System > Diagnose > Tools für den technischen Support und klicken Sie auf Neuen Trace starten, um mit der Verfolgung verschlüsselter Pakete auf einer Appliance zu beginnen.
  2. Aktivieren Sie auf der Seite Start Trace das Kontrollkästchen Capture SSL Master Keys .
  3. Klicken Sie auf OK und Fertig.

Um die SSL-Masterschlüssel in Wireshark zu importieren

Navigieren Sie auf der Wireshark GUI zu Bearbeiten > Voreinstellungen > Protokolle > SSL > (Pre) -Master-Secret Protokolldateiname und geben Sie die Masterschlüsseldateien an, die von der Appliance erhalten wurden.

Verfolgung der Pakete eines NetScaler Clusters