Jede Netzwerkverbindung zwischen Computern (TCP- oder UDP-Protokolle) erfolgt über die Ports. Stellen Sie sich diese als Einstiegspunkte oder Gateways vor, die von einem Dienst oder einer Anwendung verwendet werden. Je mehr Client-Verbindungen hergestellt werden, desto weniger Ports werden gezählt. In diesem Beitrag teilen wir Ihnen mit, wie Sie Fehler beheben können Port-Erschöpfung Themen.
Es gibt zwei Arten von Ports – Dynamische Ports und Definierte Ports. Dynamische Ports ermöglichen es mehreren Clients, sich mit definierten Ports zu verbinden. Websites sind ein gutes Beispiel. Sie haben normalerweise Port 80 definiert, aber mit einem aktiven Port können sie mehrere Clients bedienen. Da der dynamische Port begrenzt ist, schlagen die Verbindungen fehl, wenn alle Ports belegt sind. Dies wird als Port-Erschöpfung bezeichnet.
Porterschöpfung in Windows 11/10
Das Hauptmotiv dieses Leitfadens zur Fehlerbehebung besteht darin, festzustellen, welcher Prozess oder welche Anwendung den Port erschöpft. Sobald Sie es festgestellt haben, besteht der nächste Schritt darin, die App zu reparieren.
Symptome zur Identifizierung von Port-Erschöpfung:
1]Anmeldung am Computer mit Domänenanmeldeinformationen nicht möglich, Anmeldung mit lokalem Konto funktioniert jedoch. Es ist möglich, dass ein bereits verwendetes Konto funktioniert, das neue jedoch fehlschlägt. Es passiert wegen Caching.
2]Die Aktualisierung der Gruppenrichtlinie beginnt fehlzuschlagen. Jedes Mal, wenn Sie versuchen, Änderungen vorzunehmen, erhalten Sie möglicherweise eine Fehlermeldung mit der Aufschrift „Fehlgeschlagen wegen fehlender Netzwerkverbindung mit dem Domänencontroller“. Dies kann vorübergehend sein, ist jedoch ein Zeichen.
3]Dateifreigaben oder Netzlaufwerke werden unzugänglich.
4]Remotedesktop zum Server, auf dem die Anwendung gehostet wird, schlägt fehl.
Andere Anzeichen sind Ereignis-ID 4227, 4231 in der Ereignisanzeige für TCP mit einer Meldung, dass die Zuweisung des dynamischen Ports fehlgeschlagen ist. Der NetStat-Befehl zeigt eine große Anzahl von Einträgen für den TIME_WAIT-Status für eine bestimmte Anwendung und so weiter.
Verwenden Sie NetStat für Windows 11/10 und Windows Server
Öffnen Sie die Eingabeaufforderung mit erhöhten Rechten.
Führen Sie den Befehl aus:
netstat -anobq
Suchen Sie als Nächstes nach der Prozess-ID, die maximale Einträge als BOUND hat.
Wenn Sie PowerShell verwenden, können Sie den folgenden Befehl verwenden, um den Prozess mit maximaler Bindung zu identifizieren.
Get-NetTCPConnection | Group-Object -Property State, OwningProcess | Select -Property Count, Name, @{Name="ProcessName";Expression={(Get-Process -PID ($_.Name.Split(',')[-1].Trim(' '))).Name}}, Group | Sort Count -Descendin
Oft schließen die Clients die Ports nicht korrekt. Auch wenn sie nicht verwendet werden, sind diese Ports nicht frei. Dies ist einer der Hauptgründe für die Port-Erschöpfung.
Wenn der Bedarf häufig ist, können Sie verwenden Netstat-Befehl in einer Schleife. Die Ausgabe kann in einer Textdatei verfügbar gemacht werden, die zur Überwachung des Trends verwendet werden kann. So sieht das Skript aus:
@ECHO ON
set v=%1
:loop
set /a v+=1
ECHO %date% %time% >> netstat.txt
netstat -ano >> netstat.txt
PING 1.1.1.1 -n 1 -w 60000 >NUL
goto loop
Verwenden Sie den Task-Manager, um die maximalen Handles zu finden
Eine etwas natürlichere Methode, solche Anwendungen zu finden, ist die Verwendung des Task-Managers. Während PowerShell und Eingabeaufforderungen ihre eigenen Vorzüge haben, ist dies eine bessere Methode, wenn Sie den Prozess schnell sehen möchten.
- Öffnen Sie den Task-Manager und wechseln Sie zu Registerkarte Details.
- Klicken Sie mit der rechten Maustaste auf eine der Spalten und klicken Sie auf „Spalten auswählen.“
- Fügen Sie „Griffe“ aus den verfügbaren Optionen hinzu.
- Klicken Sie auf die Spaltenüberschrift der Handles, um sie nach der maximalen Anzahl zu sortieren.
Microsoft schlägt vor, dass, falls eine der Verbindungen fehlschlägt, zu überprüfen, ob die Anzahl der Handles höher als 3000 ist. Wenn dies der Fall ist, dann ist die Anwendung der Übeltäter. Eine Ausnahme bilden jedoch die OS-Dienste. Stoppen Sie für andere diesen Prozess einmal und versuchen Sie dann, sich mit Domänenanmeldeinformationen anzumelden, und prüfen Sie, ob dies erfolgreich ist.
Process Explorer
Sie können Process Explorer verwenden, falls der Task-Manager nicht hilft. Es ist nützlich, um Probleme mit DLL-Versionen aufzuspüren oder Lecks zu behandeln und einen Einblick in bösartige Anwendungen zu geben. Process Explorer sollte von heruntergeladen werden Hier und installiert. Stellen Sie sicher, dass Sie es mit erhöhten Rechten ausführen.
- Klicken Sie mit der rechten Maustaste auf die Spaltenüberschrift und wählen Sie dann „Spalten auswählen“.
- Wechseln Sie zur Registerkarte Leistung und fügen Sie hinzu Handle-Zählung.
- Klicken Sie im Menü auf Ansicht > Unteren Bereich anzeigen.
- Klicken Sie erneut auf das Menü, wählen Sie Ansicht > Ansicht im unteren Bereich > Griffe.
- Sortieren Sie die Handles in absteigender Reihenfolge.
- Es zeigt die Prozesse mit den höchsten Handle-Zählungen an
- Klicken Sie, um einen der Prozesse mit der höchsten Handle-Anzahl hervorzuheben.
- Das untere Bedienfeld zeigt den Typ für alle Griffe an. Ports oder Sockets sind normalerweise mit „File\Device\AFD“-Labels versehen.
Schließen Sie den Prozess mit einer hohen Anzahl von Handles. Wenn die Anwendung wieder erscheint, kann dies die Ursache sein, und Sie müssen die Anwendung reparieren oder den Entwickler des OEM bitten, das Problem zu beheben. Wenn Sie das Problem nicht beheben können, weil die Anwendung dies erfordert, sollten Sie die Anzahl der Ports erhöhen, die der Computer verwenden kann. Der folgende Befehl (Beispiel) kann den Bereich ändern und erhöhen.
netsh int ipv4 set dynamicport tcp start=10000 num=1000
Der minimal einstellbare Startport ist 1025. Der maximale Endport darf 65535 nicht überschreiten.
Das heißt, die Lösung ist noch vorübergehend. Als IT-Administrator müssen Sie eine bessere Lösung finden, um Port-Erschöpfung zu beheben. Manchmal können mehrere Server verwendet werden, um Ports zu erhöhen, aber das ist eine ganz andere Liga.