Protokollierung der Pakete eines Citrix ADC-Clusters
Das Citrix ADC Betriebssystem bietet ein Dienstprogramm namens ns trace, um einen Dump der Pakete zu erhalten, die von einer Appliance empfangen und gesendet werden. Das Dienstprogramm speichert die Pakete in Ablaufverfolgungsdateien. Sie können diese Dateien verwenden, um Probleme im Fluss von Paketen zu den Clusterknoten zu debuggen. Die Trace-Dateien müssen mit der Wireshark-Anwendung angezeigt werden.
Einige hervorstechende Aspekte des ns-trace-Dienstprogramms 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 Ablaufverfolgungsdateien aller Clusterknoten auf dem Konfigurationskoordinator aggregieren.
- Kann mehrere Trace-Dateien in einer einzigen Trace-Datei zusammenführen (nur für.cap-Dateien).
Sie können das ns-Trace-Dienstprogramm von der Citrix ADC Befehlszeile oder der Citrix ADC Shell verwenden.
So verfolgen Sie Pakete einer eigenständigen Appliance
Führen Sie den Befehl start ns trace auf der Appliance aus. Der Befehl erstellt Ablaufverfolgungsdateien im <date-timestamp> Verzeichnis /var/nstrace/. Die Namen der Trace-Dateien haben die Form nstrace.cap<id\ >.
Sie können den Status anzeigen, indem Sie den Befehl show ns trace ausführen. Sie können das Tracing der Pakete beenden, indem Sie den Befehl stop ns trace ausführen.
Hinweis:
Sie können das ns-Turn-Dienstprogramm auch von der Citrix ADC Shell aus ausführen, indem Sie die Datei nstrace.sh ausführen. Es wird jedoch empfohlen, das ns-Turn-Dienstprogramm über die Citrix ADC Befehlszeilenschnittstelle zu verwenden.
So verfolgen Sie Pakete eines Clusters
Sie können die Pakete auf allen Clusterknoten verfolgen und alle Ablaufverfolgungsdateien auf dem Konfigurationskoordinator abrufen.
Führen Sie den Befehl start ns trace für die Cluster-IP-Adresse aus. Der Befehl wird weitergegeben und auf allen Cluster-Knoten ausgeführt. Die Trace-Dateien werden in einzelnen Cluster-Knoten im<date-timestamp>
Verzeichnis /var/nstrace/ gespeichert. Die Namen der Trace-Dateien haben die Form nstrace <id> _node.cap<id\ >.
Sie können die Ablaufverfolgungsdateien jedes Knotens verwenden, um die Knoten Operationen zu debuggen. Wenn Sie jedoch die Trace-Dateien aller Cluster-Knoten an einem Ort haben möchten, müssen Sie den Befehl stop ns trace für die Cluster-IP-Adresse ausführen. Die Trace-Dateien aller Knoten werden wie folgt auf dem Cluster-Konfigurationskoordinator im<date-timestamp>
Verzeichnis /var/nstrace/ heruntergeladen:
Mehrere Trace-Dateien zusammenführen
Sie können eine einzelne Datei aus den Trace-Dateien vorbereiten (nur für unterstützt. Cap-Dateien), die von den Clusterknoten erhalten werden. Die einzelnen Ablaufverfolgungsdateien geben Ihnen eine kumulative Ansicht der Ablaufverfolgung der Clusterpakete. Die Ablaufverfolgungseinträge in der einzelnen Ablaufverfolgungsdatei werden basierend auf der Zeit sortiert, an der die Pakete auf dem Cluster empfangen wurden.
Um die Ablaufverfolgungsdateien zusammenzuführen, geben Sie in der Citrix ADC-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 in einer einzigen Datei zusammengeführt. -
dstdir
ist das Verzeichnis, in dem die zusammengeführte Trace-Datei erstellt wird. -
Filename
ist der Name der erstellten Trace-Datei. -
Filesize
ist die Größe der Trace-Datei.
Beispiele
Im Folgenden finden Sie einige Beispiele für die Verwendung des ns-Trace-Dienstprogramms zum Filtern von Paketen.
-
So verfolgen Sie die Pakete auf den Backplane-Schnittstellen von drei Knoten:
Klassische Ausdrücke verwenden:
> start nstrace -filter "INTF == 0/1/1 && INTF == 1/1/1 && INTF == 2/1/1"
Standardausdrücke verwenden:
> start nstrace -filter "CONNECTION.INTF.EQ("0/1/1") && CONNECTION.INTF.EQ("1/1/1") && CONNECTION.INTF.EQ("2/1/1")"
-
So verfolgen Sie die Pakete von einer Quell-IP-Adresse 10.102.34.201 oder von einem System, dessen Quellport größer als 80 ist und der Dienstname nicht “s1” lautet:
Verwenden klassischer Ausdrücke
> 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 capsslkeys
Parameter festlegen, um die SSL-Hauptschlüssel für alle SSL-Sitzungen zu erfassen. Wenn Sie diesen Parameter einschließen, wird zusammen mit der Paketverfolgung eine Datei namens nstrace.sslkeys generiert. Diese Datei kann in Wireshark importiert werden, um den SSL-Datenverkehr in der entsprechenden Trace-Datei zu entschlüsseln.
Diese Funktionalität ähnelt Webbrowsern, die Sitzungsschlüssel exportieren, die später in Wireshark importiert werden können, um SSL-Datenverkehr zu entschlüsseln.
Vorteile der Verwendung von SSL-Sitzungsschlüsseln
Im Folgenden sind die Vorteile der Verwendung von SSL-Sitzungsschlüsseln:
- Generiert kleinere Ablaufverfolgungsdateien, die nicht die zusätzlichen Pakete enthalten, die im SSLPLAIN Modus der Erfassung erstellt wurden.
- Bietet die Möglichkeit, Klartext [SP (1] aus der Ablaufverfolgung anzuzeigen und auszuwählen, ob die Hauptschlüsseldatei freigeben oder vertrauliche Daten geschützt werden soll, indem sie nicht freigegeben wird.
Einschränkungen bei der Verwendung von SSL-Sitzungsschlüsseln
Im Folgenden sind die Einschränkungen der Verwendung von SSL-Sitzungsschlüsseln:
- SSL-Sitzungen können nicht entschlüsselt werden, wenn die anfänglichen Pakete der Sitzung nicht erfasst werden.
- SSL-Sitzungen können nicht erfasst werden, wenn der FIPS-Modus (Federal Information Processing Standard) aktiviert ist.
So erfassen Sie SSL-Sitzungsschlüssel mit 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 Citrix ADC GUI
- Navigieren Sie zu Konfiguration > System > Diagnose > Technischer Support Tools, und klicken Sie auf Neue Ablaufverfolgung starten, um mit der Verfolgung verschlüsselter Pakete auf einer Appliance zu beginnen.
- Aktivieren Sie auf der Seite Trace starten das Kontrollkästchen SSL-Masterschlüssel erfassen.
- Klicken Sie auf OK und Fertig.
So importieren Sie die SSL-Master Keys in Wireshark
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.