Aufzeichnen einer Paketverfolgung auf Citrix ADC

In diesem Artikel zur Problembehandlung wird erläutert, wie ein Administrator eine Netzwerkpaketverfolgung mit der Citrix ADC GUI aufzeichnen kann.

Wichtige Punkte

  • Citrix empfiehlt Ihnen, die aktuelle Version von Wireshark aus dem Abschnitt Automated Build zu verwenden, der auf der folgenden Webseite verfügbar ist:http://www.wireshark.org/download/automated.

  • Stellen Sie zum Entschlüsseln der Erfassung in Citrix ADC C-Software ab Version 10.5 sicher, dass ECC (Elliptic Curve Cryptography), Session Reuse und DH Param vom virtuellen Server deaktiviert bzw. entfernt werden, bevor die Ablaufverfolgung erfasst wird. Lesen Sie den Abschnitt Zusätzliche Ressourcen dieses Artikels, bevor Sie diese Änderungen vornehmen.

Aufzeichnen der Paketverfolgung auf der NetScaler 11.1-Appliance

Um eine Paketverfolgung auf einer NetScaler 11.1-Appliance aufzuzeichnen, müssen Sie das folgende Verfahren ausführen.

  1. Melden Sie sich bei NetScaler GUI an, und navigieren Sie zur Seite System > Diagnose .
  2. Klicken Sie auf der Diagnoseseite auf den Link Neue Ablaufverfolgung starten, wie im folgenden Screenshot gezeigt.

    Diagnoseseite aufrufen

  3. Aktualisieren Sie die Paketgröße im Feld Paketgröße auf 0.

    Paketgröße

  4. Klicken Sie auf Start, um mit der Aufzeichnung der Netzwerkpaketverfolgung zu beginnen.
  5. Klicken Sie auf Beenden und Herunterladen, um die Aufzeichnung der Netzwerkpaketverfolgung nach Abschluss des Tests zu beenden.

    Stoppen und Download-Ablaufverfolgung

  6. Wählen Sie die gewünschte Datei aus, klicken Sie auf Auswählen und klicken Sie auf Herunterladen .

    Paketverfolgung herunterladen

  7. Öffnen Sie die Netzwerkpaketverfolgungsdatei mit dem Dienstprogramm Wireshark, um den Inhalt der Datei anzuzeigen.

Aufzeichnen der Paketverfolgung auf der NetScaler 10.5-Appliance

Um eine Paketverfolgung auf einer NetScaler 10.5-Appliance aufzuzeichnen, müssen Sie das folgende Verfahren ausführen:

  1. Melden Sie sich bei NetScaler GUI an, und navigieren Sie zur Seite System > Diagnose .

    Seite Diagnosezugriff

  2. Klicken Sie auf den Link Start new trace unter Technical Support Tool s, wie im folgenden Screenshot gezeigt.
  3. Aktualisieren Sie die Paketgröße im Feld Paketgröße auf 0.

    Paketgröße

    Hinweis: Wenn NetScaler Header nicht erforderlich sind, wählen Sie Trace im pcap-Format erfassen.

  4. Klicken Sie auf Start, um mit der Aufzeichnung der Netzwerkpaketverfolgung zu beginnen.
  5. Klicken Sie auf OK, um die Aufzeichnung der Netzwerkpaketverfolgung nach Abschluss des Tests zu beenden.

    Trace-Aufzeichnung stoppen

    Es wird eine nstrace.cap-Datei generiert, die die Netzwerkpaketverfolgung enthält.

  6. Markieren Sie die gewünschte Datei und klicken Sie auf Herunterladen.

    Laden Sie die Datei herunter

  7. Geben Sie ein Ziel an, und speichern Sie die Paketverfolgung.
  8. Öffnen Sie die Netzwerkpaketverfolgungsdatei mit dem Dienstprogramm Wireshark, um den Inhalt der Datei anzuzeigen.

    Hinweis: Wählen Sie Entschlüsselte SSL-Pakete (SSLPLAIN), um die Paketverfolgung ohne den privaten Schlüssel zu entschlüsseln.

    Entschlüsselte SSL-Pakete

Erfassen von SSL-Masterschlüsseln

In der neuesten Version 11.0 und 11.1 und höher gibt es eine Option, die Sitzungsschlüssel zu erfassen, die nur für diese bestimmte Sitzung/nstrace gültig sind. Diese Option kann verwendet werden, wenn Sie den privaten Schlüssel nicht teilen oder SSLPLAIN Modus verwenden möchten. Weitere Informationen finden Sie unter So verwenden Sie die neue Option capsslkeys, wenn Sie versuchen, nstrace auf Netscaler zu erfassen.

Sitzungsschlüssel ohne Freigabe des privaten Schlüssels exportieren

In den meisten Szenarien ist der private Schlüssel nicht verfügbar oder freigegeben. In solchen Szenarien können wir vorschlagen, die SSL-Sitzungsschlüssel anstelle des privaten Schlüssels zu exportieren. Weitere Informationen finden Sie im folgenden Artikel. Exportieren und Verwenden von SSL-Sitzungsschlüsseln zum Entschlüsseln von SSL-Traces ohne Freigabe des privaten SSL-Schlüssels.

Filter

Darüber hinaus ist es immer empfehlenswert, IP-basierte Filter hinzuzufügen, während Sie Traces aufnehmen. Dadurch wird sichergestellt, dass Sie nur interessierten Traffic erfassen, was Ihre Fehlerbehebung weiter erleichtert. Das Hinzufügen von Filtern verringert auch die Belastung von NetScaler während der Trace-Aufnahme.

Filterabschnitt

Einfache IP-basierte Filter reichen aus, um die richtigen Aufnahmen zu erhalten. Eine detaillierte Liste der Filter und Beispiele finden Sie in Citrix Documentation - nstrace.

Anwendungsfall zum Erfassen einer Paketverfolgung mit IP-Filter des virtuellen Servers (Frontend und Backend)

Mit einem Filter der IP-Adresse des virtuellen Servers und Aktivierung der Option —link in CLI oder wählen Sie die Option Trace gefilterten Connection Peer traffic in GUI (verfügbar 10.1 und höher), können Sie sowohl den Front-End- als auch den Backend-Datenverkehr für diese bestimmte IP-Adresse erfassen. Bei dieser Option ist es nicht empfehlenswert, einen Quell-IP- oder Ziel-IP-Filter zu erwähnen.

start nstrace -size 0 -filter "CONNECTION.IP.EQ(1.1.1.1)" -link ENABLED

show nstrace
        State:  RUNNING          Scope:  LOCAL            TraceLocation:  "/var/nstrace/24Mar2017_16_00_19/..." Nf:  24                  Time:  3600              Size:  0                 Mode:  TXB NEW_RX
        Traceformat:  NSCAP      PerNIC:  DISABLED        FileName:  24Mar2017_16_00_19 Filter:  "CONNECTION.IP.EQ(1.1.1.1)" Link:  ENABLED           Merge:  ONSTOP           Doruntimecleanup:  ENABLED
        TraceBuffers:  5000      SkipRPC:  DISABLED       Capsslkeys:  DISABLED    InMemoryTrace:  DISABLED

Verschmelzen

zyklische Spuren erfassen

Es ist immer schwierig, ein zeitweiliges Problem zu beheben. Zyklische Tracing eignet sich am besten für Probleme, die intermittierend sind. Diese Spuren können aufgrund des Auftretens des Problems über einen Zeitraum von wenigen Stunden oder Tagen ausgeführt werden. Auch ein spezifischer Filter kann wie oben erwähnt verwendet werden. Bitte bewerten Sie die Größe der Trace-Dateien, die generiert werden, bevor Sie sie für eine längere Zeit ausführen (da dies den var-Platz füllen kann)

Führen Sie den folgenden Befehl von CLI aus:

start nstrace -nf 60 -time 30 -size 0
This particular trace will create 60 files each of them for 30 sec. This means the files will start getting overwritten after 60 trace files or 30 mins
Show nstrace à To check the status of the nstrace
Stop nstrace à To stop the nstrace.

Best Practices

Bei einer Einheit, die Gigabyte Datenverkehr pro Sekunde verarbeitet, ist die Erfassung des Datenverkehrs ein sehr ressourcenintensiver Prozess. Die Auswirkungen auf die Ressourcen sind hauptsächlich in Bezug auf CPU und Speicherplatz. Die Auswirkung auf den Festplattenspeicher kann durch Verwendung von Filterausdrücken verringert werden (Erfassung von Datenverkehr nur im Zusammenhang mit einer bestimmten IP). Die Auswirkung auf die CPU bleibt jedoch trotz der Verwendung von Ausdrücken bestehen und kann in einigen Fällen zu einem leichten weiteren Anstieg führen, da NetScaler jetzt Pakete entsprechend dem Filter verarbeiten muss, bevor sie erfasst werden.

Die bewährten Verfahren in Bezug auf die Tracing sind:

  1. Die Dauer, für die der Trace ausgeführt wird, sollte so begrenzt wie möglich sein, während gleichzeitig sichergestellt wird, dass die Pakete von Interesse erfasst werden.
  2. Planen Sie die Ablaufverfolgungsaktivität zu einem Zeitpunkt, zu dem die Anzahl der Benutzer (und damit der Datenverkehr) stark reduziert wird, z. B. während der Auszeit.

Weitere Ressourcen

Deaktivieren der Sitzungswiederverwendung auf einem virtuellen Server über die NetScaler GUI

Die Wiederverwendung der Sitzungssitzung ist beim Erfassen einer Ablaufverfolgung deaktiviert, um einen vollständigen SSL-Handshake in der Ablaufverfolgung zu erfassen. Wenn es aktiviert ist, ist es wahrscheinlich, dass Sie nur einen teilweisen Handshake im Trace erfassen. Stellen Sie sicher, dass die Option nach der Trace-Erfassung aktiviert ist. Deaktivieren Sie die Wiederverwendung von SSL-Sitzungen nicht, wenn die Persistenzmethode sslsession ist, da dadurch die Persistenz für vorhandene Verbindungen unterbrochen wird . Weitere Informationen finden Sie unterCTX121925 - SSL-Neuverhandlungsprozess und Sitzungswiederverwendung auf NetScaler Appliance.

  1. Öffnen Sie den virtuellen Server und navigieren Sie zu SSL-Parametern.
  2. Deaktivieren Sie die Sitzungswiederverwendung aktivieren, wenn aktiviert.

    Sitzungswiederverwendung aktivieren

Deaktivieren der Sitzungswiederverwendung auf dem virtuellen Server über die NetScaler CLI

  1. SSH an den NetScaler.
  2. Führen Sie den folgenden Befehl aus, um DH Param vom virtuellen Server zu deaktivieren:

    set ssl vserver "vServer_Name" -sessReuse DISABLED

Deaktivieren des DH-Parameters auf dem virtuellen Server von der NetScaler GUI

Weitere InformationenCTX213335 - Wie richte ich einen Diffie-Hellman-Schlüssel auf NetScaler ein?zu DH Parameter finden Sie unter.

  1. Öffnen Sie den virtuellen Server und navigieren Sie zu SSL-Parametern.
  2. Deaktivieren Sie DH Param, wenn aktiviert.

    SSL-Parameter

Deaktivieren des DH-Parameters auf dem virtuellen Server von NetScaler CLI

  1. SSH an den NetScaler.
  2. Führen Sie den folgenden Befehl aus, um DH Param vom virtuellen Server zu deaktivieren:

    set ssl vserver "vServer_Name" -dh DISABLED

Deaktivieren Sie die ECC-Kurve auf dem virtuellen Server über die NetScaler GUI

ECC-Kurve sind deaktiviert, um die erfasste SSL-Trace mit privatem Schlüssel zu entschlüsseln. Diese Schlüssel sollten nicht deaktiviert werden, wenn die zugehörigen SSL-Chiffre verwendet werden. Weitere Informationen zur ECC-Kurve finden Sie unter CTX20 -Wie richte ich ECC auf NetScaler ein?

  1. Öffnen Sie den virtuellen Server und navigieren Sie zu ECC Curve.

    ECC-Kurve

  2. Wenn keine ECC-Kurve an den virtuellen Server gebunden ist, ist keine weitere Aktion erforderlich.

    Keine CC-Kurve

  3. Wenn eine ECC-Kurve an den virtuellen Server gebunden ist, klicken Sie auf die ECC-Kurve und entbinden Sie sie vom virtuellen Server.

ECC-Kurve auf dem virtuellen Server von NetScaler CLI deaktivieren

  1. SSH an den NetScaler.
  2. Führen Sie den folgenden Befehl für jede ECC-Kurve aus, die an den virtuellen Server gebunden ist:

    unbind ssl vserver "vServer_Name" -eccCurveName "ECC_Curve_Name"