Jak zamknąć otwarty port w Ubuntu?

31

Potrzebuję polecenia, aby wyświetlić listę wszystkich otwartych portów w moim komputerze, oraz innego polecenia, aby zamknąć port.

Jakieś sugestie?

Muszę zamknąć port niektórych aplikacji.

nux
źródło

Odpowiedzi:

34

netstat można użyć do wyświetlenia statystyki portów.

sudo netstat -lnp

Aby wymienić wszystkie l istening portów n Umbry z p rocess odpowiedzialną w każdym z nich. Zakończ lub zabij proces, aby zamknąć port. ( kill, pkill...)

Bez zakończenia procesu nie jest to możliwe! . Zobacz Ręczne zamykanie portu z wiersza polecenia . Innym sposobem na znalezienie zapory ogniowej (jako izolowanie tego portu od sieci)

user.dz
źródło
muszę zamknąć port, ale nie zabijając aplikacji
oprócz
Możliwe jest zamknięcie portu jako portu zewnętrznego.
sergzach,
13
sudo ufw allow 22

sudo ufw deny 22
bemonolit
źródło
12

do zamykania otwartego portu w Ubuntu możesz użyć poniższego polecenia

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

zamiast 3000możesz podać numer portu

lsof polecenie poda informacje o pliku otwartym przez proces

-t : Ta flaga określa, że ​​lsof powinien generować zwięzłe dane wyjściowe tylko z identyfikatorami procesów i bez nagłówka - np. tak, aby dane wyjściowe mogły być potokowane w celu zabicia (1). Ta opcja wybiera opcję -w.

-i : ta flaga wybiera listę plików, których dowolny adres internetowy jest zgodny z adresem określonym w i. Jeśli nie określono adresu, ta opcja wybiera listę wszystkich plików internetowych i x.25 (HP-UX).

uzaif
źródło
8

Możesz użyć iptables do zablokowania portu na poziomie sieci bez konieczności zamykania aplikacji. Port nadal wydaje się otwarty, ale będzie niedostępny.

alternatywnie jest to zależne od aplikacji, niektóre pozwalają na wyłączenie niektórych portów (pomyśl dovecot i port pop3 lub imap), a niektóre nie. Niektóre aplikacje można również skonfigurować do nasłuchiwania tylko na hoście lokalnym lub pod określonym adresem.

Misc
źródło
6

Możesz użyć netstat -nalpi lsof -i:portnarzędzi do identyfikacji procesów / plików binarnych za otwartym portem.

Jeśli chcesz zamknąć port, musisz zabić proces lub zatrzymać usługę względną. Jeśli chcesz uruchamiać usługi tylko dla twojego lokalnego komputera, możesz skonfigurować odpowiednią usługę do nasłuchiwania na localhost / 127.0.0.1 nie na wszystkich dostępnych (0.0.0.0) ips.

Nischay
źródło
1

Jeśli port został otwarty z powodu uruchomienia usługi, takiej jak vsftpd dla usługi ftp, możesz zatrzymać, a następnie wyłączyć usługę, aby plik wykonywalny związany z usługą również został zabity. w systemach bazowych Debiana możesz uruchamiać poniższe polecenia, aby zniszczyć usługę:

service SERVICENAME stop
systemctl disable SERVICENAME

Powodzenia

Ehsan Ahmadi
źródło
Dziękuję Ci. Sprawdziłem nazwę usługi sudo netstat -lnpi uruchomiłem sugerowane polecenia, aby zatrzymać port 22 :)
Rishabh Agrahari
1

Aby wyświetlić listy wszystkich otwartych portów:

netstat -lnp

Aby zamknąć otwarty port:

fuser -k port_no/tcp

przykład:

fuser -k 8080/tcp

W obu przypadkach możesz użyć w sudorazie potrzeby.

Atequer Rahman
źródło