Как остановить порт linux

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

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

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

7 ответов

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

Перечислить все номера портов, с которыми отвечает процесс. Завершите или убейте процесс, чтобы закрыть порт. ( kill , pkill . )

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

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

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

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

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

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

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

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

Источник

Освобождение порта 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 показывает вам идентификаторы процессов.

Читайте также:  Windows заблокирован нет командной строки

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

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

Источник

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

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

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

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

7 ответов

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

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

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

Вы можете использовать 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?

У меня есть вопрос в закрытии порта, я думаю, что у меня есть некоторые странные вещи.

Когда я использую execute

он показывает, что открыт порт 23 /TCP.

Но когда я выполняю

показывает, что порт 23 /tcp закрыт.

Какое из них верно? Я хочу закрыть этот порт на всей моей системе, как я могу это сделать?

Читайте также:  Windows domain controller dhcp server

4 ответа

Nmap — отличный сканер портов, но иногда вам нужно что-то более авторитетное. Вы можете спросить ядро, какие процессы открывают порты, используя утилиту netstat :

Параметры, которые я дал:

  • -t Только TCP
  • -l Только для прослушивающих портов
  • -n Не искать имена сервисов и хостов, просто отображать числа
  • -p Показать информацию о процессе (требуется привилегия root)

В этом случае мы видим, что sshd прослушивает любой интерфейс ( 0.0.0.0 ) порт 22, а cupsd прослушивает loopback ( 127.0.0.1 ). Вы можете показать, что telnetd имеет локальный адрес из 192.168.1.1:23 , то есть он не будет отвечать на соединения на петлевом адаптере (например, вы не можете telnet 127.0.0.1 )

Существуют и другие инструменты, которые будут отображать аналогичную информацию (например, lsof или /proc ), но netstat является наиболее широко доступным. Он работает даже в Windows ( netstat -anb ). BSD netstat немного отличается: вам нужно будет использовать sockstat (1) , чтобы получить информацию о процессе.

Как только у вас есть идентификатор процесса и имя программы, вы можете найти процесс и убить его, если хотите закрыть порт. Для более тонкого управления вы можете использовать брандмауэр (iptables для Linux) для ограничения доступа только к определенным адресам. Возможно, вам придется отключить запуск службы. Если PID является «-» в Linux, это, вероятно, процесс ядра (это часто встречается с NFS, например), так что удачи, узнав, что это такое.

Примечание. Я сказал «авторитетный», потому что вам не мешают сетевые условия и брандмауэры. Если вы доверяете своему компьютеру, это здорово. Однако, если вы подозреваете, что вас взломали, вы не сможете доверять инструментам на своем компьютере. Замена стандартных утилит (а иногда и системных вызовов) теми, которые скрывают определенные процессы или порты (руткиты a.k.a.), является стандартной практикой среди злоумышленников. Лучше всего на этом этапе сделать криминалистическую копию вашего диска и восстановить из резервной копии; затем используйте копию, чтобы определить, как они вошли и закрыть ее.

Linux-система имеет так называемый loopback-интерфейс, который предназначен для внутренней связи. Его имя хоста localhost , а его IP-адрес: 127.0.0.1 .

При запуске nmap на localhost , вы фактически запускаете portscan на интерфейсе loopback виртуальный . 192.168.1.1 — это IP-адрес вашего физического (скорее всего eth0 ).

Итак, вы запускаете nmap на двух разных сетевых интерфейсах, поэтому в открытых портах есть разница. Они оба верны.

Если у вас открыт TCP-порт 23, вполне вероятно, что вы используете сервер telnet (что не очень хорошо к его отсутствию шифрования), или у вас на вашем компьютере есть какой-то троянский конь.

Чтобы «закрыть» порт, вы можете использовать iptables

Если работает служба и прослушивает порт 23, возможно, более чистым будет остановить процесс, который прослушивает порт 23 ( вероятно, telnet ), чем для его запуска, а закрыть или заблокировать порт 23, используя iptables

Когда процесс прослушивания не выполняется на порту, даже при отсутствии блока межсетевого экрана любая попытка подключения к нему должна приводить к немедленному «отказу подключения» ( ECONNREFUSED до connect(2) )

Один из способов найти процесс (и его pid), который прослушивает порт 23, если есть такой процесс, это:

Читайте также:  Best built windows phone

В приведенном выше -i перечислены открытые интернет-порты (как UDP, так и TCP), а -P запрещает перевод портов в имена сервисов ( через /etc/services )

После того, как вы обнаружили, что запущенный процесс прослушивает порт 23, вы можете выяснить, как это началось, посмотрев на дерево процессов (например, pstree ). Если его родительский код init (очень вероятно), вы можете рекурсивно искать имя процесса в /etc . например:.

Это должно привести вас к лучшему способу отключить его от работы в 1-м месте.

Источник

Как убить процесс, работающий на определенном порту в 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. Легко убил.

Источник

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