GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Schließen Sie offene Ports manuell in Ubuntu

Ports öffnen

Wenn Sie viel Socket-Programmierung durchführen, kommt es oft vor, dass ein Serverprogramm beim erneuten Kompilieren/Neustart keine Verbindung zu einer bestimmten Portnummer herstellen kann, da diese Portnummer bereits verwendet wird.

Um die Portnummer manuell zu schließen, muss zuerst der Prozessname/die ID herausgefunden werden, der den Port offen hält, und dann den Kill-Befehl für diesen Prozess verwenden.

lsof

$ lsof -i :8888
COMMAND  PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    8461 enlightened   11u  IPv6 138527      0t0  UDP *:8888

Im obigen Beispiel sieht man, dass Port 8888 vom Java-Befehl mit PID 8461 verwendet wird.
Beenden Sie jetzt den Prozess, indem Sie einen der folgenden Schritte ausführen

$ kill 8461
$ killall -9 8461
$ killall -9 java

netstat

Der Befehl netstat kann auch verwendet werden, um herauszufinden, welcher Prozess eine bestimmte Portnummer besitzt

$ netstat -u -ap
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 *:18347                 *:*                                 -
udp        0      0 localhost:11211         *:*                                 -
udp        0      0 localhost:36254         localhost:36254         ESTABLISHED -
udp        0      0 localhost:domain        *:*                                 -
udp        0      0 *:ipp                   *:*                                 -
udp        0      0 *:42038                 *:*                                 -
udp        0      0 *:17500                 *:*                                 4090/dropbox
udp        0      0 *:mdns                  *:*                                 -
udp        0      0 localhost:58797         localhost:7777          ESTABLISHED 9831/ncat
udp        0      0 localhost:42724         localhost:domain        ESTABLISHED -
udp6       0      0 [::]:46282              [::]:*                              -
udp6       0      0 [::]:mdns               [::]:*                              -
udp6       0      0 [::]:9999               [::]:*                              11598/java

Der Port, den wir hier schließen möchten, ist 9999. Und netstat zeigt, dass die PID =11598 und der Befehlsname =Java
Hier drüben haben wir das -u für den UDP-Port verwendet. Wenn es sich um einen TCP-Port handelt, wird der Schalter u nicht benötigt.

$ sudo netstat -ap | grep :9050
tcp        0      0 localhost:9050          *:*                     LISTEN      1613/tor

Sobald die Prozess-ID/Name gefunden wurde, beenden Sie ihn mit dem Kill-Befehl.

$ kill 11598

Fixierer

Der Befehl fuser kann auch verwendet werden, um die PID des Programms herauszufinden. Der Syntax ist

fuser -k -n protocol portno

Kurzes Beispiel

$ fuser -k -n udp 7777
7777/udp:            11774

Ubuntu
  1. Leitfaden zum Öffnen von Ports in CentOS

  2. Öffnen Sie einen Port auf Ubuntu 20.04 - Schritt-für-Schritt-Anleitung?

  3. Wie aktualisiere ich Ubuntu manuell?

  4. Dns in Ubuntu 14.04 manuell bearbeiten?

  5. So öffnen Sie Ports in Ubuntu und CentOS mit IPtables

So installieren Sie Open Visual Traceroute unter Ubuntu 16.04

So öffnen Sie einen Port auf Ubuntu 20.04

So finden und schließen Sie offene Ports in Linux

So öffnen Sie das Terminal in Ubuntu Linux

So öffnen oder schließen Sie Ports in AlmaLinux 8 oder Rocky Firewall

Wie öffne ich mehrere Terminals?