Как получить порт, PID и имя процесса в PowerShell
PowerShell — это новый способ Microsoft использовать интерфейс командной строки с Windows. Мы говорим, что новее, но это было несколько версий. Вы должны изучить PowerShell, даже если вы домашний пользователь.
Большинство команд Windows также работают в PowerShell, плюс мы можем комбинировать их с командлетами PowerShell — произносится командный позволяет, Джо в Winteltools.com предоставляет сценарий для этого метода.
Откройте Блокнот и введите следующий код:
$ netstat = netstat -aon | Select-String -pattern «(TCP | UDP)»
$ processList = Get-Process
foreach ($ result в $ netstat) {
$ splitArray = $ result -split «»
$ procID = $ splitArray
$ processName = $ processList | Where-Object {$ _. Id -eq $ procID} | выберите имя процесса
$ splitArray = $ procID + «» + $ processName.processname
$ splitArray -join «»
}
Сохраните файл как get-NetstatProcessName.ps1. Обязательно отметьте, где он сохраняется
Важно изменить тип Сохранить как: на Все файлы (*. *), Иначе он будет сохранен как get-NetstatProcessName.ps1.txt, и он не будет работать для нас
Откройте PowerShell и перейдите к месту, в котором был сохранен скрипт. В этом случае этоcd C:Scripts
, Нажмите Enter, чтобы запустить команду.
Запустите скрипт, используя точечный источник, чтобы он работал. Это означает использование ./ перед именем файла. Команда будет./get-NetstatProcessName.ps1
Теперь мы можем увидеть всю традиционную информацию netstat плюс имя процесса. Больше не нужно открывать диспетчер задач.
Как проверить открытые порты через командную строку. Помни, хакеры где-то рядом
Друзья, в недавней публикации, которая посвящалась фанатам игры Майнкрафт, я в очередной раз заострял внимание на том, что сетевая безопасность — это наше все. Ведь никому же не хочется, чтобы какой-то нехороший дядька получил доступ к вашему личному электронному кошельку, или, например, зашифровал все файлы на компьютере. Конечно, все мы пользуемся современными антивирусными решениями, но порой сами даем злоумышленникам лишний повод зайти к нам в гости без приглашения
Я сейчас имею в виду «проброс» портов для нужд различных онлайн-игр и прочих сетевых приложений
Конечно, все мы пользуемся современными антивирусными решениями, но порой сами даем злоумышленникам лишний повод зайти к нам в гости без приглашения. Я сейчас имею в виду «проброс» портов для нужд различных онлайн-игр и прочих сетевых приложений.
Поэтому пришло время поговорить о том, как проверить открытые порты компьютера через командную строку. И поверьте, это очень просто. С этим справиться даже первоклассник.
Все дальнейшие действия будут показаны на примере Windows 10, хотя и в других версиях данной ОС все происходит аналогично. Итак, начинаем «колдовать». Для этого первым делом жмем правой кнопкой мыши по кнопке «Пуск» и открываем командную строку.
В ней вводим простенькую команду следующего вида:
netstat — aon | more
После этого запустится процесс сканирования. Естественно, здесь нужно немножко подождать, поэтому надо запастись терпением или чаем. И вот, на рисунке ниже в желтой рамке показаны открытые порты. Как видите, в графе «Состояние» они помечены как «LISTENING» (то есть слушающий).
Если же вместо этого значения будет надпись «ESTABLISHED», значит, в это время соединение установлено и идет передача данных между двумя узлами сети. Вот так это выглядит наглядно.
Посмотрите, во втором и третьем столбцах показаны IP-адреса этих узлов. В моем случае никакой опасности нет, поскольку адрес «127.0.0.1» относится к одному и тому же локальному компьютеру. То есть все происходит в пределах домашнего компа, внешней угрозы нет.
Также могут присутствовать в общем списке значения типа «CLOSE_WAIT» (ожидания закрытия соединения) и «TIME_WAIT» (превышение времени ответа)
Внимание на скриншот ниже
Хорошо, вот мы узнали какие порты открыты, но что делать дальше с этим хозяйством? На самом деле все просто. Рассмотрим ситуацию на реальном примере. Допустим мы хотим узнать, какой программой открыт порт «1688» (он выделен на рисунке выше).
Для этого нужно скопировать значение из последнего столбца, который называется «PID». В нашем случае это цифра «9184». Теперь следует открыть диспетчер задач Windows одновременным нажатием клавиш «Ctrl+Alt+Del», а затем перейти на вкладку «Подробности».
Далее в графе «ИД процесса» можно без труда найти нужное нам значение и понять, что за приложение его использует. Нажав, например, правой кнопкой мыши по названию задействованного процесса, появится возможность почитать о нем в интернете либо сразу перейти в папку размещения его исполнительных файлов.
А уже в скором времени я покажу вам еще одну специализированную программу для этих целей, которая призвана еще более автоматизировать процесс определения активных сетевых соединений. На этом все пока и давайте смотреть интересный видеоролик.
Запись результатов в текстовый файл
Иногда требуется сохранить готовые результаты мониторинга в текстовый файл, чтобы выполнить дальнейшие действия, ведь копировать информацию прямо из консоли не всегда удобно, да и займет это намного больше времени, нежели просто указать дополнительный аргумент при вводе команды.
- Напишите, например, или , а затем добавьте , что означает запись результатов в указанный файл (он будет создан в пользовательской папке). После ввода нажмите на Enter.
Запустите файл, введя его название и формат в консоли.
Теперь вы можете управлять содержимым и сохранить его в любом другом удобном месте.
Show all connections
To start with netstat, let’s see the command that displays all connections.
Type the above command and hit enter. You will see all the active connections from different states as shown below.
You will see a header with Proto, Local Address, Foreign Address, and State. Let’s see brief info about them.
- Proto – defined the protocol type (TCP, UDP, etc..,) of the socket.
- Local Address – displays your computer IP address and port, local end of the socket.
- Foreign Address – displays remote computer that your computer is connected to, the remote end of the socket.
- State – defines the state of the socket (LISTENING, ESTABLISHED, CLOSE_WAIT, TIME_WAIT).
We can filter the connections in different ways. Let’s see them.
Простой способ узнать какие порты открыты, и какие программы их используют
Думаю, если Вы нашли эту статью и собираетесь проверить какие порты открыты на ПК, то объяснять что такое порты, для чего они нужны и как используются различными программами, не нужно. Перейдем сразу к делу.
Смотреть видео:
Чтобы проверить состояние портов, необходимо открыть командную строку. Для этого используйте шорткат Win R, в появившемся окошке наберите cmd и нажмите Ввод:
В окне командной строки наберите команду netstat -a (перед знаком минус не забудьте поставить пробел), нажмите Ввод. После быстрого сканирования Вы сможете посмотреть какие сокеты открыты на Вашем ПК и в каком состоянии они находятся:
Как видим, для каждого активного сокета указывается протокол, локальный и внешний адрес, а также состояние протокола. Вот список и значение самых распространенных состояний:
- LISTENING – значит, что порт ожидает входящих соединений
- ESTABLISHED – соединение установлено
- CLOSE_WAIT – ожидание закрытия вследствие отключения удаленной стороны
- TIME_WAIT – порт закрыт, но еще ожидает входящие пакеты для обработки
- SYN_SENT – установка соединения
Интерес представляет конечно же не только получить список сокетов, но и узнать
какая программа какой номер порта использует
. Для этого в командном окне наберите команду netstat -n -b (пробелы перед знаком минус):
Возле номера каждого сокета в квадратных скобках указана программа, которая его использует (исполняемое имя файла).
Если Вы обнаружили, что какой-то порт использует программа, которую Вы не запускали и которая похожа на троян или вирус, то его следует закрыть. Закрыть порт можно при помощи фаервола. Однако гораздо быстрей и эффективней будет использовать небольшую бесплатную программу под названием Windows Worms Doors Cleaner (WWDC), которую Вы можете скачать прямо сейчас (51Kb).
После запуска она покажет список открытых сокетов, которые представляют опасность, и которые специалисты в области информационной защиты настоятельно рекомендуют держать отключенными: 135, 445, 137-139. Чтобы сделать их неактивными, просто нажмите кнопки справа от каждого красного значка:
После вступлений изменений в силу Вы получите такую картину:
Преимущество программы WWDC перед фаерволами состоит в том, что она не просто блокирует открытые порты, но закрывает их, отключая службы, которые их используют. Это, как Вы понимаете, гораздо эффективнее, потому что устраняет источник проблемы, а не симптомы.
Show Fully Qualified Domain Name of foreign address (remote host)
If you are tracking some issues and would like to know FQDN of the remote host, then you can use the following syntax.
If you run the above command, then you will see a similar result as follows.
C:\Windows\system32>netstat -f Proto Local Address Foreign Address State TCP 192.168.43.15:50664 40.90.189.152:https LISTENING TCP 192.168.43.15:51437 104.27.119.115:https ESTABLISHED
Note: you can combine syntax to show precise results like below.
The above command will filter the connections and displays only established connections. Let’s see an example.
C:\Windows\system32>netstat -f | findstr ESTABLISHED TCP 192.168.43.15:51437 104.27.119.115:https ESTABLISHED
We can filter the connections using the domain with the following command.
Specify the domain in the command and you will see the filtered connections as follows.
C:\Windows\system32>netstat -f | findstr ec2-52-202-6-97.compute-1.amazonaws.com TCP 192.168.43.15:52573 ec2-52-202-6-97.compute-1.amazonaws.com:https ESTABLISHED
I hope this helps you get familiar with netstat command usage on Windows. If you are interested in learning Windows administration then I would suggest checking out this course.
Включение или отключение адаптера Wi-Fi и Ethernet в Windows 11
Различные процедуры включения или отключения сетевого адаптера следующие:
- Через Настройки
- Через панель управления
- Через командную строку
- Через Powershell
- Через диспетчер устройств
1]Через настройки
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Включение или отключение сетевого адаптера через настройки в Windows 11 — самый простой способ:
- Щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Настройки».
- Перейдите на вкладку Сеть и Интернет.
- Прокрутите вниз до последней опции Расширенные настройки сети.
- В списке сетевых адаптеров вы найдете свой сетевой адаптер и возможность включить или отключить его.
- Используйте нужный вариант и перезагрузите систему.
2]Через панель управления
Чтобы включить и отключить адаптер Wi-Fi и Ethernet в Windows 11 с помощью панели управления:
- Нажмите Win + R, чтобы открыть окно «Выполнить», и введите команду ncpa.cpl.
- Нажмите Enter, чтобы открыть окно сетевых подключений.
- Щелкните правой кнопкой мыши нужный адаптер и выберите «Включить» или «Отключить» в соответствии с вашими потребностями.
Windows 11 упростила включение или отключение сетевого адаптера, включив эту опцию в сами окна настроек. Раньше пользователям приходилось открывать меню панели управления через опцию в окне настроек.
Читайте: Как уменьшить расстояние между элементами в проводнике Windows 11.
3]Через командную строку
Чтобы включить и отключить адаптер Wi-Fi и Ethernet в Windows 11 с помощью командной строки:
Найдите «командную строку» в строке поиска Windows и выберите «Запуск от имени администратора» в соответствии с приложением командной строки.
В окне командной строки с повышенными привилегиями введите следующую команду, чтобы определить имя адаптера:
netsh interface показать интерфейс
Следует отметить, что имя сетевого адаптера не совпадает с именем сети. Это будут Ethernet01, Ethernet02, Wi-Fi и т. Д.
После определения имени сетевого адаптера введите следующую команду в окне командной строки с повышенными привилегиями, чтобы отключить сетевой адаптер:
netsh interface set interface отключить
Вы можете ввести следующую команду, чтобы включить сетевой адаптер:
netsh interface set interface включить
куда это имя сетевого адаптера, которое вы отметили ранее.
4]Через Powershell
Процедура отключения сетевого адаптера через Powershell аналогична процедуре с командной строкой.
Найдите «powershell» в строке поиска Windows.
В соответствии с параметром Windows Powershell выберите Запуск от имени администратора.
В окне Windows Powershell с повышенными привилегиями введите следующие две команды, нажимая Enter после каждой:
Get-NetAdapter | формат-таблица Disable-NetAdapter -Name -Confirm: $ false
Работа должна быть сделана!
5]Через диспетчер устройств
В окне диспетчера устройств есть список драйверов. Чтобы отключить драйвер сетевого адаптера через диспетчер устройств, выполните следующие действия:
- Нажмите Win + R, чтобы открыть окно «Выполнить», и введите команду devmgmt.msc.
- Нажмите Enter, чтобы открыть окно диспетчера устройств.
- Разверните список сетевых адаптеров
- Щелкните правой кнопкой мыши адаптер переменного тока Intel Wireless.
- Выберите Отключить / Включить устройство.
- Перезагрузите систему.
Зачем вам нужно отключать сетевой адаптер?
Сетевой адаптер важен для подключения системы к Интернету. Однако иногда, если в системе присутствует несколько адаптеров, они мешают друг другу. В таком случае вам, возможно, придется отключить резервные адаптеры.
Надеемся, этот пост вам поможет.
.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Отображение всех подключений и ожидающих портов
Самый простой аргумент, применяемый к утилите netstat, имеет обозначение -a, и отвечает за вывод сведений обо всех активных подключениях их портов, которые ожидают соединения. Такая информация доступна к просмотру без применения прав администратора и выводится на экран следующим образом:
Мониторинг производится в режиме реального времени, поэтому не все результаты будут доступны к просмотру сразу. Придется подождать немного времени, чтобы все они могли прогрузиться. Во время этого не закрывайте консоль, если не хотите прервать процесс, ведь при повторном запуске команды все начнется заново.
Сброс сторон приложения
Если вы определили, что сбросы не вызваны переназначением или неправильным параметром или пакетами, которые будут изменены с помощью сетевого следа, сузить его до сброса уровня приложения.
На приведенных ниже скриншотах видно, что пакеты, которые видны в источнике и пункте назначения, одинаковы без каких-либо изменений или капель, но вы видите явный сброс, отправленный пунктом назначения в источник.
Сторона источника
На трассировку в сторону назначения
Вы также видите пакет флага ACK+RST в случае, если syn пакета создания TCP отправляется. Пакет TCP SYN отправляется, когда клиент хочет подключиться к определенному порту, но если пункт назначения/сервера по какой-либо причине не хочет принимать пакет, он отправляет пакет ACK+RST.
Приложение, вызываее сброс (идентифицированное по номерам портов), должно быть исследовано, чтобы понять, что вызывает его для сброса подключения.
Примечание
Вышеуказанная информация о сбросах с точки зрения TCP, а не UDP. UDP — это протокол без подключения, и пакеты отправляются ненадежно. При использовании UDP в качестве транспортного протокола повторной передачи или сброса не будет. Однако UDP использует ICMP в качестве протокола отчетов об ошибках. Когда пакет UDP отправляется в порт, а пункт назначения не указан в списке, вы увидите недостижимый пункт назначения, отправляемый из хоста назначения ICMP: сообщение порт недостижимое сразу после пакета UDP.
Во время устранения неполадок с подключением можно также увидеть в сетевом следе, на который машина получает пакеты, но не реагирует. В таких случаях может произойть снижение уровня сервера. Чтобы понять, сбрасывает ли локальный брандмауэр пакет, введи аудит брандмауэра на компьютере.
Затем можно просмотреть журналы событий безопасности, чтобы просмотреть падение пакета на определенном порт-IP и связанный с ним фильтровый ID.
Теперь запустите команду, это будет создавать wfpstate.xml файл. После открытия этого файла и фильтра для ID, который вы найдете в вышеупомяемом событии (2944008), вы сможете увидеть имя правила брандмауэра, связанное с этим ID, блокирующее подключение.
Встроенные инструменты контроля портов
Мы предлагаем две команды, чтобы показать список. В первом списке отображаются активные порты вместе с именем процесса, который их использует. В большинстве случаев эта команда будет работать нормально. Иногда, однако, имя процесса не поможет вам определить, какое приложение или служба фактически использует порт. В таком случае вам нужно будет перечислить активные порты вместе со номерами идентификатора процессов, а затем просмотреть эти процессы в диспетчере задач.
Просмотр портов вместе с именами процессов
Во-первых, вам нужно открыть командную строку в режиме администратора. Нажмите «Поиск», а затем введите «командная» в поле поиска. Когда вы увидите «Командная строка» в результатах, щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».
В командной строке введите следующий текст и нажмите «Ввод»:
netstat -ab
После того, как вы нажмете Enter, результаты могут занять минуту или две для полного отображения, поэтому будьте терпеливы. Прокрутите список, чтобы найти порт (который указан после двоеточия справа от локального IP-адреса), и вы увидите имя процесса, использующего этого порт.
Если вы хотите сделать это немного проще, вы также можете выгрузить результаты команды в текстовый файл. Затем вы можете просто найти номер порта в текстовом файле.
Здесь, например, вы можете видеть, что порт 62020 связан процессом Skype4Life.exe. Skype – это приложение для общения между пользователями, поэтому мы можем предположить, что этот порт фактически связан процессом, который регулярно проверяет наличие обновлений для приложения.
Просмотр портов вместе с идентификаторами процессов
Если имя процесса для номера порта, который вы просматриваете, затрудняет определение того, какому приложению он соответствует, вы можете попробовать версию команды, которая показывает идентификаторы процессов (PID), а не имена. Введите следующий текст в командной строке, а затем нажмите Enter:
netstat -aon
В столбце справа справа перечислены PID, поэтому просто найдите тот, который связан с портом, который вы пытаетесь устранить.
Затем откройте диспетчер задач, щелкнув правой кнопкой мыши любое открытое пространство на панели задач и выбрав «Диспетчер задач».
Если вы используете Windows 8 или 10, перейдите на вкладку «Подробности» в диспетчере задач. В более старых версиях Windows вы увидите эту информацию на вкладке «Процессы». Отсортируйте список процессов по столбцу «ИД процесса» и найдите PID, связанный с портом, который вы исследуете. Возможно, вы сможете узнать больше о том, какое приложение или служба использует указанный порт, посмотрев столбец «Описание».
Если нет, щелкните процесс правой кнопкой мыши и выберите «Открыть расположение файла». Расположение файла, скорее всего, даст вам подсказку о том, какое приложение задействовано.
Show statistics of all protocols
Useful when you have to find out for any received header error, received address error, discarded packet, etc. It will list out statistics from IPv4, IPv6, ICMPv4, ICMPv6, TCP, UDP, etc.
You will see the statistics of all protocols as shown below.
C:\Windows\system32>netstat -s IPv4 Statistics Packets Received = 1097370 Received Header Errors = 0 Received Address Errors = 9 Datagrams Forwarded = 0 Unknown Protocols Received = 0 Received Packets Discarded = 1425 Received Packets Delivered = 1098173 Output Requests = 743601 Routing Discards = 0 Discarded Output Packets = 43 Output Packet No Route = 23 Reassembly Required = 0 Reassembly Successful = 0 Reassembly Failures = 0 Datagrams Successfully Fragmented = 0 Datagrams Failing Fragmentation = 0 Fragments Created = 0 IPv6 Statistics Packets Received = 24 Received Header Errors = 0 Received Address Errors = 0 Datagrams Forwarded = 0 Unknown Protocols Received = 0 Received Packets Discarded = 208 Received Packets Delivered = 519 Output Requests = 1507 Routing Discards = 0 Discarded Output Packets = 0 Output Packet No Route = 0 Reassembly Required = 0 Reassembly Successful = 0 Reassembly Failures = 0 Datagrams Successfully Fragmented = 0 Datagrams Failing Fragmentation = 0 Fragments Created = 0 ICMPv4 Statistics Received Sent Messages 52 143 Errors 0 0 Destination Unreachable 52 143 Time Exceeded 0 0 Parameter Problems 0 0 Source Quenches 0 0 Redirects 0 0 Echo Replies 0 0 Echos 0 0 Timestamps 0 0 Timestamp Replies 0 0 Address Masks 0 0 Address Mask Replies 0 0 Router Solicitations 0 0 Router Advertisements 0 0 ICMPv6 Statistics Received Sent Messages 0 25 Errors 0 0 Destination Unreachable 0 0 Packet Too Big 0 0 Time Exceeded 0 0 Parameter Problems 0 0 Echos 0 0 Echo Replies 0 0 MLD Queries 0 0 MLD Reports 0 0 MLD Dones 0 0 Router Solicitations 0 15 Router Advertisements 0 0 Neighbor Solicitations 0 5 Neighbor Advertisements 0 5 Redirects 0 0 Router Renumberings 0 0 TCP Statistics for IPv4 Active Opens = 4405 Passive Opens = 5 Failed Connection Attempts = 164 Reset Connections = 347 Current Connections = 19 Segments Received = 980542 Segments Sent = 674787 Segments Retransmitted = 5759 TCP Statistics for IPv6 Active Opens = 48 Passive Opens = 10 Failed Connection Attempts = 38 Reset Connections = 2 Current Connections = 0 Segments Received = 680 Segments Sent = 552 Segments Retransmitted = 128 UDP Statistics for IPv4 Datagrams Received = 117977 No Ports = 1385 Receive Errors = 1 Datagrams Sent = 54516 UDP Statistics for IPv6 Datagrams Received = 1036 No Ports = 208 Receive Errors = 0 Datagrams Sent = 1131
To find out any errors quickly you can use syntax.
C:\Windows\system32>netstat -s | findstr Errors Received Header Errors = 0 Received Address Errors = 0 Received Header Errors = 0 Received Address Errors = 0 Errors 0 0 Errors 0 0 Receive Errors = 0 Receive Errors = 0 C:\Windows\system32>
The above command filters all the errors from statistics of all protocols.
Способ 6: веб-интерфейс маршрутизатора
Последний метод просмотра открытых портов в Windows 10 — переход к отдельному меню в интернет-центре роутера. Однако там можно увидеть только те порты, которые были вручную или по умолчанию открыты именно через настройки маршрутизатора, а осуществляется это на примере устройства от TP-Link так:
- Выполните авторизацию в веб-интерфейсе маршрутизатора, следуя инструкциям из следующей статьи. Подробнее: Вход в веб-интерфейс роутеров
- В меню перейдите к разделу «Forwarding».
Там вас интересует категория «Port Triggering».
Ознакомьтесь со списком открытых портов, их адресами и статусом. По желанию любой из них можно закрыть, нажав всего по одной кнопке.
:/> How to Change Windows 10 Display Language Without Reinstalling the Operating System? / Hetman Software corporate blog / Habr
Если нужно открыть конкретный порт, который по каким-то причинам оказался закрыт, потребуется выполнить определенный алгоритм действий. Проще всего справиться с этой задачей, придерживаясь руководств по ссылкам далее.
Подробнее:Открываем порты в брандмауэре Windows 10Открываем порты на роутере
Команды, связанные с Netstat
Команда netstat часто используется с другими командами командной строки, такими как nslookup , ping , tracert , ipconfig и другими.
Возможно, вам придется вручную добавить столбец PID в диспетчер задач. Это можно сделать, выбрав PID после щелчка правой кнопкой мыши по заголовкам столбцов на вкладке « ПроцессЕсли вы используете Windows 7 или на старой ОС Windows выберите PID (Process Identifier) флажок из Вида > Выбрать столбцы в диспетчере задач. Вам также может потребоваться выбрать Показать процессы из всех пользователей в нижней части вкладки Процессы, если искомый PID отсутствует в списке.
Get-NetTCPConnection
Running without any parameter it gives you an overview of all TCP Connections. It will show you TCP Connections of all states (closed, waiting, listening, established …)
Get-NetTCPConnection
IPv4 only
To show only IPv4 Connections simply provide your Local IPv4 Address. It might be useful to sort on the Local Port:
Get-NetTCPConnection -LocalAddress 192.168.0.100 | Sort-Object LocalPort
IPv6 only
If you are lucky and your ISP provides you with IPv6 Adresses, then enter your IPv6 Global Unicast Address.
Get-NetTCPConnection -LocalAddress 2a02:8388:b01:3700:215:5dff:fe6f:a00 | Sort-Object LocalPort
Show established connections only
I guess the most important parameter is state. To show only established connections in a user-friendly view (Format-Table) run
Get-NetTCPConnection -State Established | Format-Table -AutoSize
Well, ok, we’ve seen in these first steps what Get-NetTCPConnection could do for us. Before we continue to the more advanced part of this post let’s compare the output to netstat.
As I’ve mentioned: The PowerShell cmdlet is my favourite.