So finden Sie alle Iptables-Regeln für Port 80

409
Dennis

Ich habe mich gefragt, gibt es einen Befehl, um alle Regeln von iptables für Port 80 (oder einen anderen Port) aufzulisten / zu finden? Zum Beispiel so etwas:

iptables --list | grep port 80 
2
Ihr Befehl benötigt doppelte Anführungszeichen, da der String Leerzeichen enthält: `iptables --list | grep "port 80" ` Nasir Riley vor 5 Jahren 0
Danke für deinen Kommentar. Es war nur eine allgemeine Idee zur Syntax. Keine Anführungszeichen oder andere "Variationen" dieses Befehls zeigen die iptables-Regeln für Port 80 an. Dennis vor 5 Jahren 0
Das bedeutet, dass es für Port 80 keine Regeln gibt. Führen Sie den Befehl ohne "grep" aus, und Sie sehen alle Regeln. Nasir Riley vor 5 Jahren 0
Vielen Dank. Es gibt viele iptbales-Regeln für Port 80, aber der Befehl, an den ich "gedacht" habe (iptables --list | grep port 80), entweder mit oder ohne Anführungszeichen, grep usw. funktioniert einfach nicht. Ich brauche nicht alle Regeln, ich brauche nur die Regeln für Port 80. Dennis vor 5 Jahren 0
Anstelle von "Port 80" verwenden Sie "http". Anscheinend verwendet iptables die Zuordnungen in / etc / services für bekannte Ports. Alternativ können Sie die Option -n verwenden, um die Suche zu deaktivieren. Auch grep ": 80" (nicht Port 80) davidgo vor 5 Jahren 0
Denken Sie auch daran, dass "iptables --list" standardmäßig auf die "FILTER" -Tabelle eingestellt ist. Es gibt möglicherweise andere Regeln in anderen Tabellen, also verwenden Sie `-t NAT` usw. für den Rest. dirkt vor 5 Jahren 0
Ich entschuldige mich für den Fehler von meiner Seite. Ihr `grep`-String sollte` grep "ports 80" oder `grep" dports 80 "sein. Die Zeichenfolge, die angezeigt wird, ist `dports 80`, sodass eine dieser` grep`-Zeichenfolgen die gewünschte Ausgabe zurückgibt. Nasir Riley vor 5 Jahren 0
Hey davidgo dein Vorschlag iptables --list | grep ": 80" hat null Ergebnisse zurückgegeben, obwohl es viele Regeln für Port 80 gibt. Dennis vor 5 Jahren 0

2 Antworten auf die Frage

0
cybernard
 iptables --list|grep "spt:\|dpt:\|dports\|sports" 

spt: und dpt behandeln die einzelnen Portregeln

Sportarten und dports umfassen Multiport-Befehle

Jetzt sollten alle Regeln aufgelistet werden, die Ports erwähnen.

 iptables --list|grep "spt:\|dpt:\|dports\|sports"|grep http 

Sobald Sie dies tun, stellen Sie fest, dass iptables den Portnamen verwendet. Sie müssen also für http anstelle von 80 grep.

Wenn Sie die tatsächlichen Portnummern sehen möchten, müssen Sie Folgendes tun:

 iptables-save|grep "spt:\|dpt:\|dports\|sports" 

Die Ausgabe unterscheidet sich erheblich, sodass dies für Sie möglicherweise nicht funktioniert.

 iptables-save|grep "spt:\|dpt:\|dports\|sports"|grep 80 
Beeindruckend! Ausgezeichnet! Ich danke dir sehr! Genau das brauchte ich! Dennis vor 5 Jahren 0
Sie können einfach "-n" im Befehl iptables verwenden, um die tatsächlichen Portnummern anzuzeigen. davidgo vor 5 Jahren 1
@Dennis Bitte kennzeichnen Sie meine Antwort als richtig. cybernard vor 5 Jahren 0
Ich weiß nicht, wie ich Ihre Antwort Cybernard markieren soll. Ich habe nicht genug "Rufpunkte", um hier etwas zu tun. Dennis vor 5 Jahren 0
0
PyTis

Eine Sache, die Sie sich merken sollten: Sie betrachten 80, weil Sie Internetverkehr wollen. Ich weiß nicht genau, was Sie tun, aber nur wenn dies hilft, denken Sie daran, dass 80 primäres http ist, aber 8080 ist in einigen Webservern auch als sekundäres und 443 als sicheres Webprotokoll (HTTPS über SSL) konfiguriert ).

Dies soll keine Antwort sein, nur ein Kommentar zur ersten Antwort, aber ich habe nicht genügend Reputationspunkte, um Kommentare zu posten. Ich hoffe trotzdem, dass dies hilfreich ist

Danke für deinen Beitrag. Es gibt zu viele iptables-Regeln, daher wollte ich sie nur auflisten und auflisten, die auf Port 80 angewendet werden. Das ist viel einfacher, als tausende davon einzeln zu durchsuchen. Dennis vor 5 Jahren 0