Port-Listen-Kompressor
Port-Listen in Bereiche komprimieren
Input Ports
Compressed Output
Compressed output will appear here
Der Port List Compressor wandelt eine Liste einzelner Portnummern in die kompakteste Bereichsnotation um. Fügen Sie eine Liste wie 20, 21, 22, 23, 25, 53, 80, 443, 8080, 8081, 8082 ein und erhalten Sie die optimierte Ausgabe 20-23, 25, 53, 80, 443, 8080-8082.
Port-Listen-Komprimierung verstehen
Firewall-Regeln, Sicherheitsdokumentationen und Netzwerkkonfigurationen sind leichter zu lesen, wenn Portlisten als Bereiche statt als einzelne Nummern ausgedrückt werden. Eine Regel, die sagt "erlaube Ports 8000-8100", ist sofort verständlich, während eine Regel, die 101 einzelne Ports auflistet, ein Nachzählen erfordert, um die Abdeckung zu überprüfen. In der Praxis enden Portlisten jedoch oft als flache Listen einzelner Nummern -- einzeln angesammelt, wenn Dienste hinzugefügt werden, aus Tools exportiert, die keine Bereichsnotation unterstützen, oder aus Dokumentationen kopiert, die Ports einzeln aufgelistet haben.
Komprimierung ist der Prozess der Identifizierung aufeinanderfolgender Sequenzen innerhalb einer flachen Liste und deren Zusammenfassung in Bereichsnotation. Der Algorithmus ist einfach: die Ports numerisch sortieren, die sortierte Liste durchgehen und immer wenn eine Folge aufeinanderfolgender Nummern gefunden wird (80, 81, 82, 83), diese durch einen Bereich ersetzen (80-83). Nicht aufeinanderfolgende Ports bleiben als einzelne Einträge bestehen. Das Ergebnis ist die kompakteste Darstellung derselben Menge von Ports.
Dies ist nicht nur eine kosmetische Verbesserung. Viele Firewall-Systeme haben Grenzen für die Anzahl der Regeln oder Einträge, die sie verarbeiten können. AWS Security Groups haben beispielsweise ein Standardlimit von 60 eingehenden Regeln pro Gruppe. Wenn Sie Ports einzeln statt als Bereiche auflisten, erreichen Sie dieses Limit viel schneller. Die Komprimierung Ihrer Portlisten kann den Unterschied ausmachen, ob Ihre Regeln in eine einzelne Security Group passen oder auf mehrere Gruppen aufgeteilt werden müssen, was die Komplexität Ihrer Infrastruktur erhöht.
So komprimieren Sie eine Portliste in Bereiche
- Fügen Sie Ihre Liste von Portnummern in beliebigem Format ein -- eine pro Zeile, kommagetrennt oder durch Leerzeichen getrennt
- Der Kompressor sortiert und dedupliziert die Liste automatisch
- Aufeinanderfolgende Port-Sequenzen werden zu durch Bindestriche getrennten Bereichen zusammengefasst
- Nicht aufeinanderfolgende Ports bleiben als einzelne Einträge bestehen
- Kopieren Sie die komprimierte Ausgabe in Standard-Bereichsnotation
Beispiele für Port-Komprimierung
Aufeinanderfolgende Ports werden zu Bereichen
| Eingabe | Komprimierte Ausgabe |
|---|---|
80, 81, 82, 83, 84, 85 | 80-85 |
22, 23, 24, 25 | 22-25 |
3000, 3001, 3002, 3003 | 3000-3003 |
Gemischte Listen ergeben optimale Notation
| Eingabe | Komprimierte Ausgabe |
|---|---|
22, 80, 81, 82, 443 | 22, 80-82, 443 |
20, 21, 22, 25, 53, 80, 443 | 20-22, 25, 53, 80, 443 |
8000, 8001, 8002, 8003, 8004, 8005, 8080, 8443 | 8000-8005, 8080, 8443 |
Komprimierung in der Praxis
Vorher (20 einzelne Ports):
20, 21, 22, 23, 25, 53, 80, 110, 143, 443,
465, 587, 993, 995, 3306, 5432, 8080, 8081, 8082, 8443
Nachher (14 Einträge):
20-23, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 3306, 5432, 8080-8082, 8443
Komprimierungsstatistik
Das Tool gibt an, wie effektiv die Liste komprimiert wurde:
| Metrik | Wert |
|---|---|
| Eingangsports | 20 |
| Ausgangseinträge | 14 |
| Komprimierungsrate | 30% Reduktion |
| Entfernte Duplikate | 0 |
Wann sollte man den Port List Compressor verwenden
- Bereinigung von Firewall-Regeln, die im Laufe der Zeit einzelne Port-Einträge angesammelt haben
- Dokumentation von Port-Anforderungen in einem kompakten Format für Sicherheitsüberprüfungen und Change Requests
- Optimierung von Konfigurationen für Firewalls mit Regelanzahl-Limits (z. B. AWS Security Group-Limits von 60 Regeln pro Gruppe)
- Konsolidierung von Port-Spezifikationen von mehreren Teams, Anwendungen oder Anbietern
- Vorbereitung von Spezifikationen für Sicherheitsaudits, bei denen kompakte Notation die Lesbarkeit verbessert
- Reduzierung von Konfigurationsdrift, indem die Darstellung von Portlisten in der gesamten Infrastruktur standardisiert wird
Wie die Port-Bereichskomprimierung funktioniert
Der Komprimierungsalgorithmus
- Parsen aller eingegebenen Portnummern aus jedem unterstützten Format
- Validieren, dass jeder Port im Bereich
0-65535liegt - Deduplizieren durch Entfernen wiederholter Werte
- Sortieren in aufsteigender numerischer Reihenfolge
- Identifizieren von Folgen aufeinanderfolgender Nummern (z. B. 80, 81, 82)
- Zusammenfassen von Folgen in Bereiche mit Bindestrichnotation (80-82)
- Ausgeben der optimierten Kombination aus Bereichen und einzelnen Ports
Ein-Port-"Bereiche"
Eine Sequenz aus einem Port (z. B. 443 ohne benachbarte Ports 442 oder 444 in der Liste) bleibt als einzelner Eintrag bestehen. Der Kompressor erzeugt nie Bereiche wie 443-443 -- ein einzelner Port wird immer als 443 geschrieben.
Deduplizierung
Doppelte Portnummern in der Eingabe werden stillschweigend entfernt. Die Eingabe 80, 443, 80, 80, 443 ergibt 80, 443 -- kein Fehler, nur saubere Ausgabe.
Port-Komprimierung in der Praxis
Die wertvollste Anwendung der Port-Komprimierung findet bei Sicherheitsüberprüfungen statt. Wenn ein Sicherheitsprüfer fragt "welche Ports sind auf diesem System offen?", ist eine komprimierte Liste weitaus nützlicher als eine Rohliste von 50 einzelnen Portnummern. Komprimierte Notation macht Muster auf einen Blick sichtbar: Ein Bereich wie 8000-8010 sagt dem Prüfer sofort "dies ist ein Anwendungscluster mit 11 aufeinanderfolgenden Ports", während dieselbe Information über 11 einzelne Einträge verteilt mehr Aufwand zur Interpretation erfordert. Der Prüfer kann schnell beurteilen, ob der Bereich angemessen ist oder ob er eingegrenzt werden sollte.
Ein weiteres häufiges Szenario ist die Konsolidierung von Port-Anforderungen aus mehreren Teams. Das Anwendungsteam sagt, sie brauchen Ports 8080-8085 und 8443. Das Datenbankteam sagt, sie brauchen 3306 und 5432. Das Monitoring-Team sagt, sie brauchen 9090 und 9100. Anstatt drei separate Listen zu pflegen, die aus dem Tritt geraten, komprimieren Sie sie in eine einzige Spezifikation: 3306, 5432, 8080-8085, 8443, 9090, 9100. Diese einheitliche Liste ist einfacher zu pflegen, einfacher zu auditieren und weniger fehleranfällig als drei unabhängige Listen.
Bei der Arbeit mit Automatisierungstools hilft die Komprimierung auch, die Größe von Konfigurationsdateien zu reduzieren und die Lesbarkeit zu verbessern. Eine Terraform-Security-Group-Regel mit ports = [8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010] ist schwerer zu überprüfen als ports = ["8000-8010"] -- und enthält eher einen Tippfehler, bei dem ein Port in der Sequenz versehentlich ausgelassen oder dupliziert wurde.
Häufig gestellte Fragen
Ändert die Komprimierung, welche Ports enthalten sind?
Nein. Komprimierung ist eine verlustfreie Notationsänderung -- 80-85 und 80, 81, 82, 83, 84, 85 repräsentieren exakt dieselbe Menge von Ports. Der Kompressor fügt niemals Ports hinzu oder entfernt sie, er ändert nur die Darstellung.
Welche Eingabeformate werden akzeptiert?
Der Kompressor akzeptiert Ports, die durch Kommas (80,443,8080), Leerzeichen (80 443 8080), Zeilenumbrüche (einer pro Zeile) oder eine beliebige Kombination getrennt sind. Führende und nachfolgende Leerzeichen werden ignoriert. Nicht-numerische Werte werden als Fehler markiert.
Kann ich die Komprimierung zurück zu einzelnen Ports umkehren?
Ja. Verwenden Sie den Port List Expander, um Bereichsnotation zurück in einzelne Portnummern umzuwandeln. Die beiden Tools sind komplementär -- komprimieren für Lesbarkeit, expandieren für Systeme, die einzelne Port-Einträge erfordern.
Was ist die minimale Folgenlänge für die Komprimierung?
Zwei aufeinanderfolgende Ports reichen aus, um einen Bereich zu bilden. Die Ports 80, 81 werden zu 80-81 komprimiert. Ein einzelner isolierter Port bleibt immer als einzelner Eintrag bestehen. Der Kompressor verwendet Bereiche überall dort, wo sie die Gesamtzahl der Einträge reduzieren.
Wie behandelt der Kompressor unsortierte Eingaben?
Der Kompressor sortiert alle Ports numerisch, bevor er Bereiche identifiziert, sodass die Eingabereihenfolge keine Rolle spielt. 443, 80, 81, 82, 22 erzeugt dieselbe Ausgabe wie 22, 80, 81, 82, 443: 22, 80-82, 443.
Verwandte Tools
- Port List Expander - Portbereiche zu einzelnen Ports expandieren
- Port Validator - Portnummern validieren (0-65535)
- Protocol/Port Template Builder - Firewall-Regeln aus CSV-Vorlagen erstellen
- URL Parser - URLs in Schema, Host, Port, Pfad und Query parsen
- URL Normalizer - URLs durch Entfernen von Standardwerten und Sortieren von Parametern normalisieren