Wie schließe ich einen offenen Port in Ubuntu?


31

Ich benötige einen Befehl, um alle offenen Ports in meinem PC aufzulisten, und einen weiteren Befehl, um einen Port zu schließen.

Irgendwelche Vorschläge?

Ich muss den Port einiger Anwendungen schließen.

Antworten:


34

netstat kann verwendet werden, um die Ports stat zu sehen.

sudo netstat -lnp

Um all l istening Ports n Umbren mit dem p rocess auf jedem verantwortlich. Beenden oder beenden Sie den Vorgang, um den Port zu schließen. ( kill, pkill...)

Ohne Prozessabbruch ist das nicht möglich! . Siehe Manuelles Schließen eines Ports über die Befehlszeile . Auf andere Weise können Sie nach einer Firewall-Lösung suchen (indem Sie diesen Port vom Netzwerk trennen).


Ich muss den Port schließen, aber ohne die Anwendung zu
beenden

Es ist möglich, einen Port als externen Port zu schließen.
Sergzach


12

Zum Schließen des offenen Ports in Ubuntu können Sie den folgenden Befehl verwenden

sudo kill $(sudo lsof -t -i:3000)

Anstelle von können 3000Sie auch Ihre Portnummer angeben

lsof Der Befehl gibt Informationen über die vom Prozess geöffnete Datei aus

-t : Dieses Flag gibt an, dass lsof nur eine knappe Ausgabe mit Prozess-IDs und keinen Header erzeugen soll - z. B. damit die Ausgabe an kill (1) weitergeleitet wird. Diese Option wählt die Option -w aus.

-i : Dieses Flag wählt die Liste der Dateien aus, deren Internetadresse mit der in i angegebenen Adresse übereinstimmt. Wenn keine Adresse angegeben ist, wird mit dieser Option die Liste aller Internet- und x.25-Netzwerkdateien (HP-UX) ausgewählt.


8

Mit iptables können Sie den Port auf Netzwerkebene blockieren, ohne die Anwendung schließen zu müssen. Der Port wird weiterhin als offen angezeigt, ist jedoch nicht erreichbar.

alternativ ist dies von der Anwendung abhängig, einige erlauben das Deaktivieren eines Ports (denken Sie an Dovecot und den Pop3- oder Imap-Port), andere nicht. Einige Anwendungen können auch so konfiguriert werden, dass sie nur den lokalen Host oder eine bestimmte Adresse überwachen.


6

Sie können netstat -nalpund lsof -i:portTools verwenden, um Prozesse / Binärdateien hinter offenen Ports zu identifizieren.

Wenn Sie den Port schließen möchten, müssen Sie den Prozess beenden oder den relativen Dienst beenden. Wenn Sie Dienste nur für Ihre lokale Box ausführen möchten, können Sie den jeweiligen Dienst so konfigurieren, dass er auf localhost / 127.0.0.1 nicht auf allen verfügbaren (0.0.0.0) ips lauscht.


1

Wenn Ihr Port geöffnet wurde, weil ein Dienst ausgeführt wurde, z. B. vsftpd für FTP, können Sie den Dienst beenden und dann deaktivieren, damit auch die ausführbare Datei, die sich auf den Dienst bezieht, beendet wird. In Debian-Basissystemen können Sie die folgenden Befehle ausführen, um einen Dienst zu zerstören:

service SERVICENAME stop
systemctl disable SERVICENAME

Viel Glück


Vielen Dank. Ich habe den Namen des Dienstes überprüft sudo netstat -lnpund Ihre vorgeschlagenen Befehle ausgeführt, um den Port 22 zu stoppen :)
Rishabh Agrahari

1

So zeigen Sie Listen aller offenen Ports an:

netstat -lnp

So schließen Sie einen offenen Port:

fuser -k port_no/tcp

Beispiel:

fuser -k 8080/tcp

In beiden können Sie sudobei Bedarf verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.