Как закрыть порты в Windows 10

Обновлено: 21.11.2024

Кто-нибудь знает, как закрыть сокет TCP или UDP для одного соединения через командную строку Windows?

Погуглив об этом, я увидел, что некоторые люди спрашивают то же самое. Но ответы выглядели как справочная страница команд netstat или netsh, посвященная тому, как контролировать порты. Мне не нужны ответы о том, как их контролировать (я уже делаю это). Я хочу закрыть/убить их.

EDIT, для уточнения: Допустим, мой сервер прослушивает TCP-порт 80. Клиент устанавливает соединение, и для него выделяется порт 56789. Затем я обнаруживаю, что это соединение нежелательно (например, этот пользователь делает плохие вещи, мы попросили его прекратить, но соединение не прервалось где-то по пути). Обычно я добавляю брандмауэр для выполнения этой работы, но это заняло бы некоторое время, а я был в чрезвычайной ситуации. Уничтожение процесса, владеющего соединением, здесь действительно плохая идея, потому что это приведет к отключению сервера (все пользователи потеряют функциональность, когда мы просто хотим выборочно и временно разорвать это единственное соединение).

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

18 ответов 18

введите netstat -a -n -o

(Кстати, убить [target_PID] у меня не получилось)

CTRL+ALT+DELETE и выберите "запустить диспетчер задач"

Перейдите на вкладку "Процессы"

Включите столбец "PID", выбрав: Вид > Выбрать столбцы > Установите флажок для PID

Найдите интересующий PID и нажмите "ЗАВЕРШИТЬ ПРОЦЕСС"

Теперь вы можете перезапустить сервер на [IP-адрес]:[номер порта] без проблем

То, что вы говорите, это просто убить серверный процесс и перезапустить его, чего я хотел избежать, так как это приведет к разрыву всех подключений к серверу, а не только нежелательных.

Извините, что не помог решить ваш конкретный вопрос. Я просто давал свой ответ, так как ваш вопрос появился, когда я искал в Google, как просто закрыть порт Windows, и подумал, что это может быть полезно для других, у которых тоже была моя проблема. :)

@HaoQiLi, нельзя просто покончить со всем и вся. Например. Системный процесс, который обрабатывает сетевые подключения Windows.

смехотворно, у этого ответа так много голосов, когда в вопросе четко указано ОДИНОЧНОЕ СОЕДИНЕНИЕ, а не весь процесс.

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

Затем справа появится pid, который можно убить с помощью taskkill.

Также вы можете посмотреть на этот вопрос, который специально для localhost, но я думаю, что это актуально:

Я тестировал в Windows 10, и он не уничтожает одно TCP-соединение, а весь процесс или поток, использующий его. Как заявил Виктор, это не его цель.

Например, вы хотите освободить порт 8080. Затем выполните следующие команды.

Верно, действительно полезно распечатать PID при попытке найти PID. (Кто эти люди?).

Я тестировал в Windows 10, и он не уничтожает одно TCP-соединение, а весь процесс или поток, использующий его. Как заявил Виктор, это не его цель.

Да, это возможно. Вам не обязательно быть текущим процессом, владеющим сокетом, чтобы закрыть его. Представьте на мгновение, что удаленный компьютер, сетевая карта, сетевой кабель и ваша ОС могут вызвать закрытие сокета.

Учтите также, что программное обеспечение Fiddler и Desktop VPN может встраиваться в сетевой стек и показывать вам весь ваш трафик или перенаправлять весь ваш трафик.

Поэтому все, что вам действительно нужно, — это либо Windows предоставить API, который позволяет это напрямую, либо кто-то написал программу, которая работает как VPN или Fiddler и дает вам возможность закрывать проходящие через нее сокеты.

Существует по крайней мере одна программа (CurrPorts), которая делает именно это, и сегодня я использовал ее для закрытия определенных сокетов в процессе, который был запущен до запуска CurrPorts. Для этого вы, конечно, должны запустить его от имени администратора.

Обратите внимание, что, вероятно, нелегко заставить программу не прослушивать порт (ну, это возможно, но эта возможность называется брандмауэром. ), но я не думаю, что здесь спрашивали об этом. . Я считаю, что вопрос заключается в том, «как мне выборочно закрыть одно активное соединение (сокет) с портом, который прослушивает моя программа?». Формулировка вопроса немного неверна, потому что указан номер порта для нежелательного входящего клиентского соединения, и он упоминается как «порт», но совершенно ясно, что это была ссылка на этот сокет, а не на порт прослушивания.< /p>

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

Расскажем, что такое порты и почему они могут быть опасны.

Оглавление

Что такое сетевые порты?

Сетевые порты используются службами и приложениями Windows для отправки и получения данных по сети. Если вам интересно, для этого ли используется IP-адрес, то вы абсолютно правы. Однако уникальный IP-адрес определяет путь к конкретному устройству, тогда как порт определяет, какое приложение или служба на этом конкретном устройстве должны отправлять эту информацию.

Как и IP-адреса, порт уникален в своей экосистеме. Это означает, что один и тот же порт не может использоваться двумя разными службами/приложениями. Поэтому оба этих уникальных идентификатора, IP-адрес и номер порта, используются для отправки и получения информации с компьютера.

Номер порта можно найти в конце IP-адреса, как в приведенном ниже примере:

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

Один IP-адрес может иметь 65 535 портов TCP и 65 535 портов UDP.

Опасны ли открытые сетевые порты?

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

Открытый сетевой порт не всегда опасен, но всегда лучше быть начеку и закрывать все ненужные порты.

2 способа проверить, какие порты открыты/прослушиваются в Windows 10

Вы можете выяснить, какие порты в данный момент открыты на вашем компьютере, даже если установленные приложения не информировали вас о том, что они их используют. Вот 2 способа проверить, какие порты открыты и какая служба/приложение использует их на вашем локальном компьютере, прежде чем приступать к их блокировке.

Определить открытые порты с именем процесса с помощью командной строки

    .
  1. Введите следующую команду:
    netstat -ab
  2. Командная строка теперь будет отображать вывод открытых сетевых портов с соответствующими именами приложений/служб, как показано на изображении ниже:

Поскольку IP-адрес, назначенный нашему компьютеру, равен 10.0.0.31, он отображает различные порты, используемые различными приложениями, добавленными к IP-адресу. Однако, как вы могли заметить, некоторые названия служб и приложений невозможно идентифицировать. Для этого мы примем второй метод.

Определение открытых портов с идентификатором процесса с помощью командной строки

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

    .
  1. Введите следующую команду:
    netstat -aon
  2. Командная строка теперь будет отображать список портов TCP и UDP, которые в настоящее время прослушиваются на вашем компьютере. Запишите связанные PID для сравнения в диспетчере задач.
  3. Теперь откройте Диспетчер задач, щелкнув правой кнопкой мыши панель задач и выбрав Диспетчер задач. Или вы можете использовать сочетания клавиш Ctrl + Shift + Esc.
  4. Теперь перейдите на вкладку "Сведения" в диспетчере задач и сопоставьте PID с соответствующим именем процесса/приложения.
  5. Теперь у вас есть достаточно информации о портах, которые вы хотели бы закрыть, если таковые имеются. Перейдите к следующему шагу, чтобы заблокировать/закрыть все прослушиваемые порты на вашем компьютере.

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

    1. Откройте брандмауэр Windows, выбрав Пуск –> Панель управления –> Брандмауэр Windows. Если вы используете Windows 10, вы можете открыть брандмауэр Защитника Windows, выбрав «Выполнить» -> firewall.cpl.
    2. В меню слева выберите Дополнительные настройки.
    3. В меню справа в новом окне выберите Правила для входящих подключений.
    4. Затем нажмите Новое правило на правой панели.
    5. На экране "Тип правила" в мастере создания правила для нового входящего трафика выберите "Порт" и нажмите "Далее".
    6. На следующем экране выберите тип порта, указанный ранее в командной строке, а затем введите номер порта, который вы хотите закрыть перед Определенные локальные порты. Нажмите «Далее», когда закончите.
    7. На следующем экране выберите "Блокировать подключение" и нажмите "Далее".
    8. На экране Профиль выберите Все профили и нажмите Далее.
    9. Теперь задайте имя для правила и нажмите "Готово".
    10. Теперь вы успешно отключили порт. Вы можете повторить шаги, чтобы заблокировать дополнительные порты или удалить этот, перейдя к Правилам входящего трафика и удалив соответствующие правила.

      Как быстро закрыть порты с помощью командной строки

      Для идентификации процессов, которые открыли порты, а затем закрыли порты, уничтожив процесс, можно использовать несколько команд.

      1. Откройте командную строку и выполните команду: netstat -a -o -n. Это покажет все открытые порты в вашей системе вместе с их текущим состоянием и идентификатором процесса, открывшего порты.
      2. Если вы хотите найти конкретный порт, выполните команду: netstat -a -o -n | найдите строку «993». Замените 993 номером порта, который вы хотите найти.
      3. Последний столбец в списке — идентификатор процесса или номер PID. Уничтожение процесса автоматически закроет порт прослушивания. Чтобы завершить процесс, выполните команду: taskkill /pid 993.
      4. Обратите внимание, что это быстрый и временный способ закрыть порт с помощью командной строки. Если вы хотите навсегда заблокировать повторное открытие порта, вам следует следовать первому способу, указанному выше.

        Как заблокировать сетевые порты в брандмауэре Windows с помощью командной строки

        Заблокировать порт в брандмауэре Windows с помощью командной строки

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

        Чтобы создать правило блокировки порта в брандмауэре Windows, выполните следующую команду в командной строке:

        Замените Имя правила своим собственным именем правила, например, поскольку я блокирую порт IMAP, я назову правило Блокировать IMAP. Замените TCP на RCP или UDP, в зависимости от того, какой порт вы хотите заблокировать. Замените 993 фактическим номером порта, который вы хотите заблокировать.

        Разблокировать/открыть порт в брандмауэре Windows с помощью командной строки

        Чтобы снова открыть порт, просто выполните следующую команду в CMD:

        Замените имя правила на фактическое имя правила, в моем случае заблокируйте IMAP. Это приведет к удалению правила, которое мы создали выше.

        Заключительные слова

        Прослушивание портов не всегда опасно, так как оно очень сильно зависит от того, через какое приложение/службу он открыт. Тем не менее, по-прежнему важно не дать злоумышленнику возможности воспользоваться уязвимостями вашей системы и разумно закрыть все неиспользуемые порты.

        Субхан имеет степень в области электротехники и прошел несколько системных и сетевых сертификатов, включая сертификаты Huwaei, Cisco и Microsoft. В основном он исследует и пишет о мире Windows.

        Оставить ответ Отменить ответ

        Последние публикации

        Об iTechtics

        iTechtics – это блог о технологиях, в котором основное внимание уделяется новостям Windows, программному обеспечению и загружаемым материалам, советам и рекомендациям по программному обеспечению, веб-службам, безопасности и продуктивности Office.

        сообщить об этом объявлении

        В совете под названием Сканирование вашей системы на наличие открытых портов вы узнаете, как узнать, какие порты открыты на вашем компьютере. Если вы хотите закрыть открытый порт, вы можете сделать это с помощью брандмауэра Windows (брандмауэр Защитника Windows для Windows 10). Например, допустим, вы хотите закрыть порт 5500 для всех входящих подключений. Выполните шаги, описанные ниже.

          Откройте брандмауэр Windows, выбрав Пуск | Панель управления | Брандмауэр Windows. Если вы используете Windows 10, введите «Брандмауэр Защитника Windows» (без кавычек) в поле поиска. (См. рис. 1.)

        Рисунок 1. Начальный экран брандмауэра Защитника Windows.

        Рисунок 2. Расширенные настройки брандмауэра Защитника Windows.

        Рисунок 3. Шаг 1 мастера создания правила для входящего трафика.

        Рисунок 4. Шаг 2 мастера создания правила для нового входящего трафика.

        Рисунок 5. Шаг 3 мастера создания правила для нового входящего трафика.

        Рисунок 6. Шаг 4 мастера создания правила для нового входящего трафика.

        <р> Рисунок 7.Шаг 5 мастера создания правила для нового входящего трафика.

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

        Этот совет (13105) относится к Windows 7 и 10.

        Биография автора

        Барри работает профессионалом в области компьютеров более 35 лет, занимая различные должности, например руководителя технической группы, руководителя проекта и разработчика программного обеспечения. В настоящее время он инженер-программист, специализирующийся на разработке пользовательских приложений под Microsoft Windows. Когда Барри не работает с Windows и не пишет советы, он писатель-любитель. Его первая научно-популярная книга называется «Хронологический комментарий к Откровению». Узнайте больше о Барри.

        БОЛЬШЕ ОТ БАРРИ

        Знакомство с виджетами на рабочем столе

        Виджеты – это небольшие легкие приложения, которые постоянно работают на вашем рабочем столе для предоставления информации. Вы можете добавить, .

        Знакомство с Защитником Windows

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

        Понимание командной строки для цикла

        Иногда бывает полезна нишевая команда — цикл FOR. Он имеет несколько форм и поэтому может служить нескольким .

        Дополнительные советы по Windows

        Отображение кнопки "Домой" в Microsoft Edge

        По умолчанию Microsoft Edge не отображает кнопку «Домой» на панели инструментов. Если вам нравится, когда кнопка «Домой» видна, .

        Обзор OneDrive

        Использование облака для хранения и передачи файлов сегодня более распространено, чем когда-либо. С OneDrive и Windows 10 вы .

        Настройка компьютера с поддержкой Wi-Fi в качестве точки доступа

        Если ваш компьютер поддерживает Wi-Fi, вы можете легко настроить его в качестве точки доступа. Этот совет покажет вам, как это сделать.

        Подписаться

        БЕСПЛАТНАЯ СЛУЖБА. Получайте подобные советы каждую неделю в WindowsTips, бесплатном информационном бюллетене по повышению эффективности. Введите свой адрес и нажмите "Подписаться".

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

        В Панели управления Windows перейдите в раздел «Система и безопасность -> Брандмауэр Windows» и выберите пункт меню «Дополнительные параметры».

        В разделе "Просмотр и создание правил брандмауэра" выберите пункт меню "Правила для входящих подключений".

        В подменю «Действия» выберите пункт меню «Новое правило…». Это запустит мастер для создания нового правила входящего доступа.

        В диалоговом окне «Тип правила» мастера выберите «Порт» в качестве типа правила. Нажмите «Далее», чтобы продолжить.

        В диалоговом окне мастера «Протокол и порты» выберите «Определенные локальные порты» и введите номер диапазона портов, к которому вы хотите разрешить доступ. Нажмите «Далее», чтобы продолжить.

        В диалоговом окне «Действие» мастера выберите «Разрешить подключение». Нажмите «Далее», чтобы продолжить.

        В диалоговом окне мастера «Профиль» установите флажки «Домен» и «Частный». Нажмите «Далее», чтобы продолжить.

        ПРИМЕЧАНИЕ. Из соображений безопасности мы рекомендуем не устанавливать флажок «Общедоступный», если у вас нет дополнительных ограничений, обеспечивающих доступ только с доверенных IP-адресов или диапазонов IP-адресов.

        В диалоговом окне «Имя» мастера введите описательное имя для входящего правила. Нажмите «Готово», чтобы сохранить новое правило.

        Новое правило должно появиться в списке правил для входящих подключений и немедленно вступит в силу.

        Закрыть порты сервера и запретить удаленный доступ

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

        В Панели управления Windows перейдите в раздел «Система и безопасность -> Брандмауэр Windows» и выберите пункт меню «Дополнительные параметры».

        В разделе "Просмотр и создание правил брандмауэра" выберите пункт меню "Правила для входящих подключений".

        В списке правил для входящего трафика найдите правило для порта, который вы хотите закрыть. Выберите правило и нажмите пункт меню «Удалить», чтобы удалить правило и закрыть соответствующий порт.

        Читайте также: