Как закрыть открытый порт в Ubuntu?


31

Мне нужна команда для отображения списка всех открытых портов на моем компьютере и другая команда для закрытия порта.

Какие-либо предложения?

Мне нужно закрыть порт некоторых приложений.

Ответы:


34

netstat можно использовать для просмотра статистики портов.

sudo netstat -lnp

Для того, чтобы перечислить все л istening порты п umbers с р rocess ответственным на каждом из них. Завершите или убейте процесс, чтобы закрыть порт. ( kill, pkill...)

Без завершения процесса, это невозможно! , См. Закрытие порта вручную из командной строки . Другой способ - поиск брандмауэра (например, изоляция этого порта от сети).


мне нужно закрыть порт, но не убивая приложение
nux

Можно закрыть порт как внешний порт.
sergzach


12

для закрытия открытого порта в Ubuntu вы можете использовать команду ниже

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

вместо 3000вас можно указать номер порта

lsof команда выдаст информацию о файле, открытом процессом

-t : Этот флаг указывает, что lsof должен генерировать краткий вывод только с идентификаторами процесса и без заголовка - например, чтобы вывод мог быть передан в kill (1). Эта опция выбирает опцию -w.

-i : Этот флаг выбирает список файлов, любой из которых, чей интернет-адрес совпадает с адресом, указанным в i. Если адрес не указан, этот параметр выбирает список всех сетевых файлов Интернета и x.25 (HP-UX).


8

Вы можете использовать iptables, чтобы заблокировать порт на сетевом уровне, не закрывая приложение. Порт по-прежнему будет открыт, но будет недоступен.

альтернативно, это зависит от приложения, некоторые разрешают отключать некоторые порты (например, dovecot и порт pop3 или imap), а некоторые - нет. Некоторые приложения также можно настроить на прослушивание только на локальном хосте или по определенному адресу.


6

Вы можете использовать netstat -nalpи lsof -i:portинструменты для идентификации процессов / двоичных файлов за открытым портом.

Если вы хотите закрыть порт, вам нужно убить процесс или остановить относительную службу. Если вы хотите запускать службы только для своего локального ящика, вы можете настроить соответствующую службу для прослушивания localhost / 127.0.0.1, а не для всех доступных (0.0.0.0) ips.


1

Если ваш порт открыт из-за запуска службы, например vsftpd для службы ftp, вы можете остановить, а затем отключить службу, чтобы также был уничтожен исполняемый файл, связанный с этой службой. в базовых системах Debian вы можете запустить следующие команды, чтобы уничтожить сервис:

service SERVICENAME stop
systemctl disable SERVICENAME

Удачи


Спасибо. Я проверил имя службы sudo netstat -lnpи
выполнил

1

Чтобы показать списки всех открытых портов:

netstat -lnp

Чтобы закрыть открытый порт:

fuser -k port_no/tcp

пример:

fuser -k 8080/tcp

В обоих вы можете использовать sudoпри необходимости.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.