Как очистить порты linux

Как найти и закрыть открытый порт в linux

Итак, вы являетесь сетевым администратором, и у вас есть несколько машин Linux в вашей сети или дата-центре. Вы обнаружили странный трафик и вам требуется его определить. Возможно ли, что трафик использует открытый порт на машине? Если так, где находится порт и как вы его закроете?

На машинах с Linux эта задача на самом деле довольно проста. Я хочу показать вам, как найти открытый порт и закрыть его. Я буду демонстрировать на Ubuntu Server 18.04, хотя процесс будет схожим во многих дистрибутивах, единственное отличие будет в том, как закрыть порт.

Как найти открытый порт

К счастью, вам не нужно устанавливать какое-либо программное обеспечение, чтобы сделать эту работу. Почему? Потому что мы будем использовать команду ss (так как netstat устарел) для просмотра портов прослушивания на вашем сервере. Это будет сделано полностью из командной строки, поэтому либо войдите на свой сервер, либо используйте безопасную оболочку для доступа. Когда вы получите приглашение bash, введите команду:

Возможны следующие варианты:

-t Показать только сокеты TCP в Linux
-u Показать только сокеты UDP в Linux
-l Показать прослушивающие сокеты (например, TCP-порт 22 открыт SSHD-сервером)
-p Список имен процессов, которые открывали сокеты
-n Не разрешать имена сервисов

Вывод команды будет перечислять только прослушиваемые порты.

Наши открытые порты

Как видите, на этой машине имеется только несколько открытых портов (53, 22, 631, 445, 3306, 11211, 80, 8080).

Если вы не уверены, какой порт соответствует какой службе, вы всегда можете узнать это в файле /etc/services. Прочитайте этот файл с помощью команды:

Вы должны увидеть список всех портов, доступных для Linux.

Какой порт linux соответствует какой службе

Как закрыть порт

Скажем, вы размещаете веб-сервер на компьютере, но не хотите прослушивать порт 8080. Вместо этого вы хотите, чтобы трафик проходил только через порты 80 (HTTP) и 443 (HTTPS). Чтобы закрыть порт 8080, мы будем использовать команду ufw (Uncomplicated FireWall) следующим образом:

Вы должны увидеть, что правила были обновлены, а порт заблокирован. Если вы обнаружите, что блокирование этого порта вызывает проблемы со службой или приложением, вы можете снова открыть его с помощью команды:

И это все, что нужно для поиска и закрытия открытого порта на Ubuntu. Этот процесс должен работать в большинстве дистрибутивов, единственное предостережение — как вы блокируете порт, так как не каждый дистрибутив использует ufw. Если выбранный вами дистрибутив использует другую команду для блокировки портов (например, sudo iptables -A INPUT -p tcp —destination-port 80 -j DROP), убедитесь, что вы знаете, как выполнить эту задачу на своем сервере.

Читайте также:  Mac os x transformation pack что это

Источник

Освобождение порта TCP / IP?

netstat -tulnap показывает, какие порты используются. Как освободить порт в Linux?

Как уже говорили другие, вам придется убить все процессы, которые прослушивают этот порт. Самый простой способ сделать это — использовать команду fuser (1). Например, чтобы увидеть все процессы, прослушивающие запросы http на порту 80 (запустите от имени пользователя root или используйте sudo):

Если вы хотите убить их, просто добавьте опцию -k.

Чтобы убить определенный порт в Linux, используйте команду ниже

замените Port_Number вашим занятым портом.

Вы можете использовать tcpkill (часть dsniff пакета), чтобы уничтожить соединение, которое находится на нужном порту:

В типе терминала:

netstat -anp|grep «port_number»

Он покажет детали порта. Перейти к последнему столбцу. Это будет в этом формате. Например: — PID / Java

kill -9 PID. Worked on Centos5

и затем выполните:

Работал на Macbook

Команда «netstat —programs» выдаст вам информацию о процессе, если вы являетесь пользователем root. Тогда вам придется убить «оскорбительный» процесс, который вполне может начаться снова, просто чтобы вас раздражать :-).

Чего вы на самом деле пытаетесь достичь здесь? Решения могут отличаться в зависимости от процессов, содержащих эти порты.

Чтобы проверить все порты:

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

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

Убейте процесс, который прослушивает рассматриваемый порт. Я считаю, что netstat показывает вам идентификаторы процессов.

Если вы действительно хотите немедленно завершить процесс, вы отправляете ему сигнал KILL вместо сигнала TERM (последний — запрос на остановку, первый вступит в силу немедленно без какой-либо очистки). Это легко сделать:

Имейте в виду, однако, что в зависимости от программы, которую вы останавливаете, ее состояние может быть сильно повреждено при этом. Обычно вы хотите отправить сигнал KILL только тогда, когда обычное завершение не работает. Мне интересно, в чем заключается основная проблема, которую вы пытаетесь решить, и является ли убийство правильным решением.

Источник

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

Это смесь. Каждый пакет может быть лицензирован на разных условиях.

Как правило, право изменять его и распространять каждый пакет в основном и юниверсе, некоторые пакеты могут иметь ограничения на это, например, имя и логотип firefox являются товарными знаками, поэтому нельзя использовать без разрешения Mozilla.

Вы можете посмотреть отдельные лицензии на пакеты в / usr / share / doc / * / copyright

7 ответов

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

Перечислить все л порты istain n для камер с p Роуз отвечает за каждого. Завершите или убейте процесс, чтобы закрыть порт. ( kill , pkill . )

Читайте также:  Серверная лицензия 1с linux

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

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

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

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

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

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

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

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

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

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

Источник

🐧 Как найти и закрыть открытый порт в Linux

Возможно ли, что трафик использует открытый порт на машине? Если это так, то где находится этот самый порт и как вы его закрываете?

На машинах Linux эта задача на самом деле довольно проста.

Что вам нужно

Для этого вам понадобится только работающий экземпляр Ubuntu Server и учетная запись пользователя с привилегиями sudo.

  • -t Показать только сокеты TCP в Linux
  • -u Показать только сокеты UDP в Linux
  • -l Показать прослушивающие сокеты (например, TCP-порт 22 открыт SSHD-сервером)
  • -p Список имен процессов, которые открывали сокеты
  • -n Не резолвить имена сервисов

Как закрыть порт на Linux

Скажем, вы размещаете веб-сервер на компьютере, но не хотите прослушивать порт 8080.

Вместо этого вы хотите, чтобы трафик проходил только через порты 80 (HTTP) и 443 (HTTPS).

Чтобы закрыть порт 8080, мы будем использовать команду ufw (Uncomplicated FireWall) следующим образом:

  • Аудит ИБ (44)
  • Вакансии (10)
  • Закрытие уязвимостей (98)
  • Книги (27)
  • Мануал (1 937)
  • Медиа (66)
  • Мероприятия (38)
  • Мошенники (22)
  • Обзоры (724)
  • Обход запретов (33)
  • Опросы (3)
  • Скрипты (106)
  • Статьи (292)
  • Философия (77)
  • Юмор (17)
Читайте также:  What is the windows 10 update code

Anything in here will be replaced on browsers that support the canvas element

Источник

Как убить процесс, работающий на определенном порту в Linux?

Я попытался закрыть tomcat, используя ./shutdown.sh от tomcat

16 ответов

этой fuser 8080/tcp напечатает вам PID процесса, связанного с этим портом.

и fuser -k 8080/tcp убьет этот процесс.

работает только на Linux. Более универсальным является использование lsof -i4 (или 6 для IPv6).

чтобы перечислить любой процесс, прослушивающий порт 8080:

чтобы убить любой процесс прослушивания порта 8080:

или более яростно:

( -9 соответствует SIGKILL — terminate immediately/hard kill сигнал: Вижу список сигналов уничтожения и какова цель опции -9 в команде kill?. Если сигнал не указан в kill , термин сигнал a.к. a. -15 или soft kill отправляется, чего иногда недостаточно убить процесс.).

используется grep java as tomcat использует java как их процессы.

он покажет список процессов с номером порта и идентификатором процесса

число перед /java — это идентификатор процесса. Теперь используйте kill команда, чтобы убить процесс

-9 подразумевает, что процесс будет насильственно убит.

вы можете использовать команду lsof. Пусть номер порта, как здесь 8090

эта команда возвращает список открытых процессов на этот порт.

чтобы освободить порт, убейте процесс, используя его (идентификатор процесса 75782).

Это сработало для меня. вот ссылка из оригинального поста: ссылке

Я бы добавил этот One-liner только для прослушивания определенного порта:

kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)

Если вы хотите убить процесс, работающий на port number 8080, то сначала вам нужно найти 8080 port process identification number(PID), а затем убить его. Выполните следующую команду, чтобы найти 8080 номер порта PID:

  • судо — команда для запроса прав администратора (id пользователя и пароль).
  • lsof — список файлов(также используется для связанного списка процессов)
  • — t — показать только ID процесса
  • — показать только интернет-соединения, связанные с процессом
  • :8080 — показывать только процессы в этом номере порта

Теперь вы можете легко убить свой PID, используя следующую команду:

  • kill-команда, чтобы убить процесс
  • -9 — сильно

вы можете использовать одну команду, чтобы убить процесс на определенном порту, используя следующая команда:

Для больше вы можете увидеть следующую ссылку как убить процесс на определенном порту в linux

это печатает для stdout идентификаторы процессов всего, что работает на

он также печатает некоторые вещи в stderr, так:

затем мы можем предоставить эти идентификаторы процессов в kill команда:

вы также можете поместить это в функцию, если вы делаете это много:

чтобы узнать pid службы, работающей на определенном порту:

вы получите описание этого процесса. Теперь используйте kill или kill -9 pid. Легко убил.

Источник

Оцените статью