Обновлено 26.06.2017
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-01
Всем привет ранее я начал рассказ про сетевые утилиты системного администратора в статье «Утилита pathping или как диагностировать проблему на маршруте до сайта. Сетевые утилиты 3 часть», движемся дальше и разбираем еще одну утилиту netstat или, как определить какие порты слушает ваш компьютер. Данная программка, будет не заменимым инструментом в багаже софта, любого системного инженера, поможет ему провести быструю диагностику ситуации и обнаружить ряд всевозможных проблем с сервисами и их доступностью.
Команды netstat
Netstat — Отображение активных подключений TCP, портов, прослушиваемых компьютером, статистики Ethernet, таблицы маршрутизации IP, статистики IPv4 (для протоколов IP, ICMP, TCP и UDP) и IPv6 (для протоколов IPv6, ICMPv6, TCP через IPv6 и UDP через IPv6)
Представим ситуацию вы установили например MSM LSI утилиту для просмотра параметров RAID контроллера, запускаете утилиту, но ничего она не находит, потому что закрыт порт а какой вы не в курсе, и не всегда в инете можно быстро найти информацию об этом, для этого вы и может запустить netstat и посмотреть какой порт слушает ваш сервер с MSM процессом.
Открываем командную строку Windows и вводим netstat ?. У вас выскочит справка утилиты.
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-02
C:Userssem>netstat ?
Отображение статистики протокола и текущих сетевых подключений TCP/IP.
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-x] [-t]
[интервал]
- -a Отображение всех подключений и портов прослушивания.
- -b Отображение исполняемого файла, участвующего в создании
- каждого подключения или порта прослушивания. Иногда известные исполняемые файлы содержат множество независимых компонентов. Тогда отображается последовательность компонентов, участвующих в создании подключения или порта прослушивания. В этом случае имя исполняемого файла находится снизу в скобках [], сверху находится вызванный им компонент, и так до тех пор, пока не достигнут TCP/IP. Заметьте, что такой подход может занять много времени и требует достаточных разрешений.
- -e Отображение статистики Ethernet. Может применяться вместе с параметром -s.
- -f Отображение полного имени домена (FQDN) для внешних адресов.
- -n Отображение адресов и номеров портов в числовом формате.
- -o Отображение ИД процесса каждого подключения.
- -p протокол Отображение подключений для протокола, задаваемых этим параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6. Если используется вместе с параметром -s для отображения статистики по протоколам, допустимы следующие значения: IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP или UDPv6.
- -r Отображение содержимого таблицы маршрутов.
- -s Отображение статистики по протоколам. По умолчанию статистика отображается для протоколов IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP и UDPv6. Параметр -p позволяет указать подмножество выводимых данных.
- -t Отображение состояния разгрузки для текущего подключения.
- -x Отображение подключений, прослушивателей и общих конечных точек NetworkDirect.
- -y Отображение шаблона подключений TCP для всех подключений. Не может использоваться вместе с другими параметрами. interval Повторное отображение выбранной статистики с паузой между отображениями, заданной интервалом в секундах. Чтобы прекратить повторное отображение статистики, нажмите клавиши CTRL+C. Если этот параметр опущен, netstat напечатает текущую информацию о конфигурации один раз.
Давайте посмотрим интересные ключи утилиты netstat. Первое что вводим
и у нас на экране появится статистика сетевых пакетов ethernet.
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-03
Если добавим ключ -s то получим статистику по протоколам.
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-04
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-05
Очень полезно посмотреть все что слушает ваш хост для этого пишем
Вывод команды содержит Тип протокола либо TCP либо UDP, локальный адрес с портом который слушается и внешний адрес с портом и состояние действия.
Для полного понимания информации, предоставляемой этой командой, необходимо понять принципы установки соединения в протоколе TCP/IP. Вот основные этапы процесса установки соединения TCP/IP:
1. При попытке установить соединение клиент отправляет сообщение SYN серверу.
2. Сервер отвечает собственным сообщением SYN и подтверждением (ACK).
3. После этого клиент отправляет сообщение ACK обратно на сервер, завершая процесс установки соединения.
Процесс разрыва соединения состоит из следующих этапов:
1. Клиент сообщает «Я закончил», отправляя сообщение FIN серверу. На этом этапе клиент только принимает данные от сервера, но сам ничего не отправляет.
2. После этого сервер отправляет сообщение ACK и отправляет собственное сообщение FIN клиенту.
3. После этого клиент отправляет сообщение ACK серверу, подтверждая запрос сервера FIN.
4. При получении сообщения ACK от клиента сервер закрывает соединение.
Понимание этапов процесса установки и разрыва соединения позволяет более прозрачно интерпретировать состояния соединений в выводе команды netstat. Соединения в списке могут находиться в следующих состояниях.
- CLOSE_WAIT — указывает на пассивную фазу закрытия соединения, которая начинается после получения сервером сообщения FIN от клиента.
- CLOSED — соединение прервано и закрыто сервером.
- ESTABLISHED — клиент установил соединение с сервером, получив от сервера сообщение SYN.
- FIN_WAIT_1 — клиент инициировал закрытие соединения (отправил сообщение FIN).
- FIN_WAIT_2 — клиент получил сообщения ACK и FIN от сервера.
- LAST_ACK — сервер отправил сообщение FIN клиенту.
- LISTEN — сервер готов принимать входящие соединения.
- SYN_RECEIVED — сервер получил сообщение SYN от клиента и отправил ему ответ.
- TIMED_WAIT — клиент отправил сообщение FIN серверу и ожидает ответа на это сообщение.
- YN_SEND — указанное соединение активно и открыто.
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-06
Если добавить ключ -f то будут разрешаться имена удаленных внешних ресурсов
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-07
также можно вывести только TCP порты
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-08
Или UDP порты
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-09
Вот такая вот полезная утилиты с которой вы всегда будите знать по каким портам общаются службы на хосте. Читайте далее Утилита TCPView. Как определить какие порты слушает ваш компьютер. Сетевые утилиты 5 часть
Материал сайта pyatilistnik.org
На днях снова поступил вопрос: Как узнать что слушает TCP/IP порт в Windows?
Я уже когда-то писал об этом, но видать пришло время сделать это еще раз…
Задача: узнать процесс, который занял конкретный порт.
Решение: воспользуемся командной строкой, чтобы увидеть, какие порты используются в данный момент и имеют специальный флаг, который говорит нам, какой порт назначен на каждый номер идентификатора процесса Windows. Тогда мы можем использовать этот номер, чтобы найти, какой именно это процесс.
Откройте командную строку и введите следующее, возможно, придется запустить ее в режиме администратора, чтобы увидеть все процессы:
NETSTAT -AON | MORE
Если вы посмотрите на правую часть, то вы увидите список PID-ов или идентификаторов процессов. Найдите тот, который привязан к порту, с которым вы работаете, вы увидите 0.0.0.0:80 или порт 80, его PID — 4708.
Теперь вы можете просто открыть диспетчер задач, возможно, придется использовать опцию Показать процессы для всех пользователей, и тогда вы сможете найти PID в списке.
Есть еще один вариант:
Например C:>netstat -an|findstr /i listen
Подробней читаем здесь: http://dosprompt.info/network/netstat.example.asp
Всем хорошей работы !!!
08.08.2012 —
Posted by |
ms windows server 2008
Sorry, the comment form is closed at this time.
При запуске новых сервисов в Windows, вы можете обнаружить что нужный порт уже занят (слушается) другой программой (процессом). Разберемся, как определить какая программ прослушивает определенный TCP или UDP порт в Windows.
Например, вы не можете запустить сайт IIS на стандартном 80 порту в Windows, т.к. этот порт сейчас занят (при запуске нескольких сайтов в IIS вы можете запускать их на одном или на разных портах). Как найти службу или процесс, который занял этот порт и завершить его?
Чтобы вывести полный список TCP и UDP портов, которые прослушиваются вашим компьютером, выполните команду:
netstat -aon| find "LIST"
Или вы можете сразу указать искомый номер порта:
netstat -aon | findstr ":80" | findstr "LISTENING"
Используемые параметры команды netstat:
- a – показывать сетевые подключения и открытые порты
- o – выводить идентфикатор професса (PID) для каждого подключения
- n – показывать адреса и номера портов в числовом форматер
По выводу данной команды вы можете определить, что 80 порт TCP прослушивается (статус
LISTENING
) процессом с PID 16124.
Вы можете определить исполняемый exe файл процесса с этим PID с помощью Task Manager или с помощью команды:
tasklist /FI "PID eq 16124"
Можно заменить все указанные выше команды одной:
for /f "tokens=5" %a in ('netstat -aon ^| findstr :80') do tasklist /FI "PID eq %a"
С помощью однострочной PowerShell команды можно сразу получить имя процесса, который прослушивает:
- TCP порт:
Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess
- UDP порт:
Get-Process -Id (Get-NetUDPEndpoint -LocalPort 53).OwningProcess
Можно сразу завершить этот процесс, отправив результаты через pipe в командлет Stop-Process:
Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess| Stop-Process
Проверьте, что порт 80 теперь свободен:
Test-NetConnection localhost -port 80
Чтобы быстрой найти путь к исполняемому файлу процесса в Windows, используйте команды:
cd /
dir tiny.exe /s /p
Или можно для поиска файла использовать встроенную команду where :
where /R C: tiny
В нашем случае мы нашли, что исполняемый файл
tiny.exe
(легкий HTTP сервер), который слушает 80 порт, находится в каталоге c:Temptinywebtinyweb-1-94
При запуске новых сервисов в Windows, вы можете обнаружить что нужный порт уже занят (слушается) другой программой (процессом). Разберемся, как определить какая программ прослушивает определенный TCP или UDP порт в Windows.
Например, вы не можете запустить сайт IIS на стандартном 80 порту в Windows, т.к. этот порт сейчас занят (при запуске нескольких сайтов в IIS вы можете запускать их на одном или на разных портах). Как найти службу или процесс, который занял этот порт и завершить его?
Чтобы вывести полный список TCP и UDP портов, которые прослушиваются вашим компьютером, выполните команду:
netstat -aon| find "LIST"
Или вы можете сразу указать искомый номер порта:
netstat -aon | findstr ":80" | findstr "LISTENING"
Используемые параметры команды netstat:
- a – показывать сетевые подключения и открытые порты
- o – выводить идентфикатор професса (PID) для каждого подключения
- n – показывать адреса и номера портов в числовом форматер
По выводу данной команды вы можете определить, что 80 порт TCP прослушивается (статус
LISTENING
) процессом с PID 16124.
Вы можете определить исполняемый exe файл процесса с этим PID с помощью Task Manager или с помощью команды:
tasklist /FI "PID eq 16124"
Можно заменить все указанные выше команды одной:
for /f "tokens=5" %a in ('netstat -aon ^| findstr :80') do tasklist /FI "PID eq %a"
С помощью однострочной PowerShell команды можно сразу получить имя процесса, который прослушивает:
- TCP порт:
Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess
- UDP порт:
Get-Process -Id (Get-NetUDPEndpoint -LocalPort 53).OwningProcess
Можно сразу завершить этот процесс, отправив результаты через pipe в командлет Stop-Process:
Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess| Stop-Process
Проверьте, что порт 80 теперь свободен:
Test-NetConnection localhost -port 80
Чтобы быстрой найти путь к исполняемому файлу процесса в Windows, используйте команды:
cd /
dir tiny.exe /s /p
Или можно для поиска файла использовать встроенную команду where :
where /R C: tiny
В нашем случае мы нашли, что исполняемый файл
tiny.exe
(легкий HTTP сервер), который слушает 80 порт, находится в каталоге c:Temptinywebtinyweb-1-94
ОСНОВНОЙ ТЕКСТ СТАТЬИ |
Как определить каким процессом (программой) занят порт.
Требования.
Статья применима для Windows 2000/XP/Vista/7.
Информация.
При установке некоторых программ иногда возникает
проблема с доступностью порта. Т.е. вы устанавливаете программу, а она вам
говорит: «Извините, но предпочитаемый порт номер <такой
то> занят!». И самое интересное программа не говорит
чем или кем занят порт.
Как определить каким процессом (программой) занят порт.
1. В меню «Пуск»
выберите пункт «Выполнить«;
2. В поле «Открыть» наберите команду cmd
и нажмите кнопку «ОК»;
Откроется окно командной строки, примерно такого вида:
3. Наберите команду
netstat -ano и нажмите кнопку «Ввод» (Enter)
на клавиатуре;
Результатом выполнения данной команды, должен быть список всех активных
подключений, с ip-адресами и номерами портов.
4. Теперь
в колонке «Локальный адрес», находим нужный нам порт и записываем его
идентификатор в колонке «PID»;
Например порт номер 80, его
идентификатор 440.
5. Снова открываем меню «Пучк» и
выбираем пункт «Выполнить«;
6. В поле «Открыть» вводим команду taskmgr и нажимаем кнопку
«ОК»;
7. В окне «Диспетчер задач Windows» переходим
на вкладку «Процессы«;
8. В главном меню открываем пункт «Вид» и выбираем пункт «Выбрать
столбцы…«;
9. В окне «Выбор столбцов» находим пункт «Идентиф. процесса (PID)»
и ставим рядом с ним галочку;
10. Нажимаем кнопку «ОК»;
11. Теперь в окне «Диспетчер задач Windows«,
нажимаем на заголовок столбца «PID», для сортировки
процессов по возрастанию;
12. Находим номер нашего процесса 440 и в столбце «Имя образа«, смотрим какой
процесс занимает наш порт;
В нашем случаи это
Apache.exe
|
||
|
||
|
||
|
||
|
||
Спасибо тебе добрый человек!!! |
||
|
||
How do I find out which process is listening on a TCP or UDP port on Windows?
Mateen Ulhaq
23k16 gold badges89 silver badges130 bronze badges
asked Sep 7, 2008 at 6:26
readonlyreadonly
337k107 gold badges203 silver badges205 bronze badges
13
PowerShell
TCP
Get-Process -Id (Get-NetTCPConnection -LocalPort YourPortNumberHere).OwningProcess
UDP
Get-Process -Id (Get-NetUDPEndpoint -LocalPort YourPortNumberHere).OwningProcess
cmd
netstat -a -b
(Add -n to stop it trying to resolve hostnames, which will make it a lot faster.)
Note Dane’s recommendation for TCPView. It looks very useful!
-a Displays all connections and listening ports.
-b Displays the executable involved in creating each connection or listening port. In some cases well-known executables host multiple independent components, and in these cases the sequence of components involved in creating the connection or listening port is displayed. In this case the executable name is in [] at the bottom, on top is the component it called, and so forth until TCP/IP was reached. Note that this option can be time-consuming and will fail unless you have sufficient permissions.
-n Displays addresses and port numbers in numerical form.
-o Displays the owning process ID associated with each connection.
answered Sep 7, 2008 at 6:28
21
There’s a native GUI for Windows:
-
Start menu → All Programs → Accessories → System Tools → Resource Monitor
-
or run
resmon.exe
, -
or from TaskManager → Performance tab.
serge
13.2k32 gold badges110 silver badges192 bronze badges
answered May 18, 2014 at 5:02
bcorsobcorso
44.8k9 gold badges62 silver badges75 bronze badges
10
For Windows:
netstat -aon | find /i "listening"
xash
3,68010 silver badges22 bronze badges
answered Sep 7, 2008 at 6:32
akuaku
121k32 gold badges171 silver badges203 bronze badges
6
Use TCPView if you want a GUI for this. It’s the old Sysinternals application that Microsoft bought out.
answered Sep 7, 2008 at 6:38
DaneDane
9,6515 gold badges27 silver badges22 bronze badges
5
The -b switch mentioned in most answers requires you to have administrative privileges on the machine. You don’t really need elevated rights to get the process name!
Find the pid of the process running in the port number (e.g., 8080)
netstat -ano | findStr "8080"
Find the process name by pid
tasklist /fi "pid eq 2216"
Jaywalker
3,0393 gold badges30 silver badges42 bronze badges
answered Jan 24, 2018 at 3:50
Ram SharmaRam Sharma
2,3771 gold badge8 silver badges7 bronze badges
You can get more information if you run the following command:
netstat -aon | find /i "listening" |find "port"
using the ‘Find’ command allows you to filter the results. find /i "listening"
will display only ports that are ‘Listening’. Note, you need the /i
to ignore case, otherwise you would type find «LISTENING». | find "port"
will limit the results to only those containing the specific port number. Note, on this it will also filter in results that have the port number anywhere in the response string.
answered Oct 8, 2013 at 18:56
Nathan24Nathan24
1,35011 silver badges20 bronze badges
4
-
Open a command prompt window (as Administrator) From «StartSearch box» Enter «cmd» then right-click on «cmd.exe» and select «Run as Administrator»
-
Enter the following text then hit Enter.
netstat -abno
-a Displays all connections and listening ports.
-b Displays the executable involved in creating each connection or
listening port. In some cases well-known executables host
multiple independent components, and in these cases the
sequence of components involved in creating the connection
or listening port is displayed. In this case the executable
name is in [] at the bottom, on top is the component it called,
and so forth until TCP/IP was reached. Note that this option
can be time-consuming and will fail unless you have sufficient
permissions.-n Displays addresses and port numbers in numerical form.
-o Displays the owning process ID associated with each connection.
-
Find the Port that you are listening on under «Local Address»
-
Look at the process name directly under that.
NOTE: To find the process under Task Manager
-
Note the PID (process identifier) next to the port you are looking at.
-
Open Windows Task Manager.
-
Select the Processes tab.
-
Look for the PID you noted when you did the netstat in step 1.
-
If you don’t see a PID column, click on View / Select Columns. Select PID.
-
Make sure “Show processes from all users” is selected.
-
answered Nov 8, 2012 at 1:49
CyborgCyborg
1,23412 silver badges12 bronze badges
Get PID and Image Name
Use only one command:
for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /FI "PID eq %a"
where 9000
should be replaced by your port number.
The output will contain something like this:
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
java.exe 5312 Services 0 130,768 K
Explanation:
-
it iterates through every line from the output of the following command:
netstat -aon | findstr 9000
-
from every line, the PID (
%a
— the name is not important here) is extracted (PID is the5
th element in that line) and passed to the following commandtasklist /FI "PID eq 5312"
If you want to skip the header and the return of the command prompt, you can use:
echo off & (for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /NH /FI "PID eq %a") & echo on
Output:
java.exe 5312 Services 0 130,768 K
answered Feb 10, 2016 at 10:17
ROMANIA_engineerROMANIA_engineer
52.9k28 gold badges199 silver badges194 bronze badges
1
First we find the process id of that particular task which we need to eliminate in order to get the port free:
Type
netstat -n -a -o
After executing this command in the Windows command line prompt (cmd), select the pid which I think the last column. Suppose this is 3312.
Now type
taskkill /F /PID 3312
You can now cross check by typing the netstat
command.
NOTE: sometimes Windows doesn’t allow you to run this command directly on CMD, so first you need to go with these steps:
From the start menu -> command prompt (right click on command prompt, and run as administrator)
answered Aug 23, 2014 at 15:25
1
With PowerShell 5 on Windows 10 or Windows Server 2016, run the Get-NetTCPConnection
cmdlet. I guess that it should also work on older Windows versions.
The default output of Get-NetTCPConnection
does not include Process ID for some reason and it is a bit confusing. However, you could always get it by formatting the output. The property you are looking for is OwningProcess
.
-
If you want to find out the ID of the process that is listening on port 443, run this command:
PS C:> Get-NetTCPConnection -LocalPort 443 | Format-List LocalAddress : :: LocalPort : 443 RemoteAddress : :: RemotePort : 0 State : Listen AppliedSetting : OwningProcess : 4572 CreationTime : 02.11.2016 21:55:43 OffloadState : InHost
-
Format the output to a table with the properties you look for:
PS C:> Get-NetTCPConnection -LocalPort 443 | Format-Table -Property LocalAddress, LocalPort, State, OwningProcess LocalAddress LocalPort State OwningProcess ------------ --------- ----- ------------- :: 443 Listen 4572 0.0.0.0 443 Listen 4572
-
If you want to find out a name of the process, run this command:
PS C:> Get-Process -Id (Get-NetTCPConnection -LocalPort 443).OwningProcess Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName ------- ------ ----- ----- ------ -- -- ----------- 143 15 3448 11024 4572 0 VisualSVNServer
answered Nov 2, 2016 at 19:19
PlimpusPlimpus
29.4k12 gold badges105 silver badges149 bronze badges
To get a list of all the owning process IDs associated with each connection:
netstat -ao |find /i "listening"
If want to kill any process have the ID and use this command, so that port becomes free
Taskkill /F /IM PID of a process
answered Apr 17, 2014 at 14:38
Monis MajeedMonis Majeed
1,31814 silver badges21 bronze badges
1
It is very simple to get the port number from a PID in Windows.
The following are the steps:
-
Go to run → type cmd → press Enter.
-
Write the following command…
netstat -aon | findstr [port number]
(Note: Don’t include square brackets.)
-
Press Enter…
-
Then cmd will give you the detail of the service running on that port along with the PID.
-
Open Task Manager and hit the service tab and match the PID with that of the cmd, and that’s it.
answered May 30, 2016 at 6:36
Nishat LakhaniNishat Lakhani
7131 gold badge8 silver badges20 bronze badges
0
netstat -aof | findstr :8080
(Change 8080 for any port)
answered Feb 16, 2021 at 23:59
David JesusDavid Jesus
1,8312 gold badges28 silver badges33 bronze badges
To find out which specific process (PID) is using which port:
netstat -anon | findstr 1234
Where 1234 is the PID of your process. [Go to Task Manager → Services/Processes tab to find out the PID of your application.]
answered Dec 14, 2018 at 6:55
Talha ImamTalha Imam
9861 gold badge20 silver badges22 bronze badges
2
In case someone need an equivalent for macOS like I did, here is it:
lsof -i tcp:8080
After you get the PID
of the process, you can kill it with:
kill -9 <PID>
answered Aug 12, 2020 at 11:22
Benjamin WenBenjamin Wen
3,2773 gold badges27 silver badges48 bronze badges
2
Just open a command shell and type (saying your port is 123456):
netstat -a -n -o | find "123456"
You will see everything you need.
The headers are:
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:37 0.0.0.0:0 LISTENING 1111
This is as mentioned here.
answered Jan 25, 2017 at 0:13
1
If you’d like to use a GUI tool to do this there’s Sysinternals’ TCPView.
answered Sep 7, 2008 at 6:40
David WebbDavid Webb
189k57 gold badges309 silver badges298 bronze badges
-
Open the command prompt — start → Run →
cmd
, or start menu → All Programs → Accessories → Command Prompt. -
Type
netstat -aon | findstr '[port_number]'
Replace the [port_number]
with the actual port number that you want to check and hit Enter.
- If the port is being used by any application, then that application’s detail will be shown. The number, which is shown at the last column of the list, is the PID (process ID) of that application. Make note of this.
-
Type
tasklist | findstr '[PID]'
Replace the [PID]
with the number from the above step and hit Enter.
- You’ll be shown the application name that is using your port number.
answered May 9, 2019 at 12:18
Anatole ABEAnatole ABE
5751 gold badge7 silver badges12 bronze badges
2
Netstat:
- -a displays all connection and listening ports
- -b displays executables
- -n stop resolve hostnames (numerical form)
-
-o owning process
netstat -bano | findstr "7002" netstat -ano > ano.txt
The Currports tool helps to search and filter
answered Sep 23, 2018 at 5:05
Blue CloudsBlue Clouds
6,7402 gold badges57 silver badges95 bronze badges
Type in the command: netstat -aon | findstr :DESIRED_PORT_NUMBER
For example, if I want to find port 80: netstat -aon | findstr :80
This answer was originally posted to this question.
answered Nov 22, 2016 at 15:36
TechnotronicTechnotronic
8,1443 gold badges40 silver badges53 bronze badges
netstat -ao
and netstat -ab
tell you the application, but if you’re not a system administrator you’ll get «The requested operation requires elevation».
It’s not ideal, but if you use Sysinternals’ Process Explorer you can go to specific processes’ properties and look at the TCP tab to see if they’re using the port you’re interested in. It is a bit of a needle and haystack thing, but maybe it’ll help someone…
answered Mar 13, 2014 at 19:57
Tony DelroyTony Delroy
101k15 gold badges174 silver badges249 bronze badges
1
I recommend CurrPorts from NirSoft.
CurrPorts can filter the displayed results. TCPView doesn’t have this feature.
Note: You can right click a process’s socket connection and select «Close Selected TCP Connections» (You can also do this in TCPView). This often fixes connectivity issues I have with Outlook and Lync after I switch VPNs. With CurrPorts, you can also close connections from the command line with the «/close» parameter.
answered Jun 29, 2015 at 22:07
JoshJosh
2,0522 gold badges21 silver badges20 bronze badges
0
A single-line solution that helps me is this one. Just substitute 3000 with your port:
$P = Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess; Stop-Process $P.Id
Edit: Changed kill
to Stop-Process
for more PowerShell-like language
answered Feb 3, 2019 at 14:46
Angel VenchevAngel Venchev
6871 gold badge9 silver badges18 bronze badges
2
Using Windows’ default shell (PowerShell) and without external applications
For those using PowerShell, try Get-NetworkStatistics
:
> Get-NetworkStatistics | where Localport -eq 8000
ComputerName : DESKTOP-JL59SC6
Protocol : TCP
LocalAddress : 0.0.0.0
LocalPort : 8000
RemoteAddress : 0.0.0.0
RemotePort : 0
State : LISTENING
ProcessName : node
PID : 11552
answered Aug 25, 2016 at 13:36
mikemaccanamikemaccana
103k93 gold badges371 silver badges470 bronze badges
3
To find pid who using port 8000
netstat -aon | findstr '8000'
To Kill that Process in windows
taskkill /pid pid /f
where pid is the process id which you get form first command
answered Jul 14, 2020 at 6:13
jizjiz
1892 silver badges6 bronze badges
2
Follow these tools: From cmd: C:> netstat -anob
with Administrator privileges.
Process Explorer
Process Dump
Port Monitor
All from sysinternals.com.
If you just want to know process running and threads under each process, I recommend learning about wmic
. It is a wonderful command-line tool, which gives you much more than you can know.
Example:
c:> wmic process list brief /every:5
The above command will show an all process list in brief every 5 seconds. To know more, you can just go with /?
command of windows , for example,
c:> wmic /?
c:> wmic process /?
c:> wmic prcess list /?
And so on and so forth.
1
PowerShell
If you want to have a good overview, you can use this:
Get-NetTCPConnection -State Listen | Select-Object -Property *, `
@{'Name' = 'ProcessName';'Expression'={(Get-Process -Id $_.OwningProcess).Name}} `
| select ProcessName,LocalAddress,LocalPort
Then you get a table like this:
ProcessName LocalAddress LocalPort
----------- ------------ ---------
services :: 49755
jhi_service ::1 49673
svchost :: 135
services 0.0.0.0 49755
spoolsv 0.0.0.0 49672
For UDP, it is:
Get-NetUDPEndpoint | Select-Object -Property *, `
@{'Name' = 'ProcessName';'Expression'={(Get-Process -Id $_.OwningProcess).Name}} `
| select ProcessName,LocalAddress,LocalPort
answered Feb 27, 2022 at 22:16
Oliver GaidaOliver Gaida
1,4426 silver badges12 bronze badges
Use:
netstat -a -o
This shows the PID of the process running on a particular port.
Keep in mind the process ID and go to Task Manager and services or details tab and end the process which has the same PID.
Thus you can kill a process running on a particular port in Windows.
answered Aug 13, 2013 at 2:32
nishanisha
6932 gold badges14 silver badges28 bronze badges
You can also check the reserved ports with the command below. Hyper-V reserve some ports, for instance.
netsh int ipv4 show excludedportrange protocol=tcp
answered Nov 24, 2020 at 14:50
На компьютере может быть установлено довольно много программ и все они резервируют в операционной системе определенный порт для взаимодействия с другим программным обеспечением по сети. В большинстве случаев пользователь заранее знает какой порт использует программа. Это может быть официально зарезервированный порт, под определенный сетевой протокол. Например почтовые программы используют для приема почты протокол POP3 и резервируют порт 110. Бывают неофициально резервируемые порты, например порт 1540 используемый агентом сервера 1С:Предприятие. Информацию об используемых неофициальных портах разработчики программного обеспечения указывают в документации.
Узнать какой порт использует программа в операционной системе Windows можно используя инструменты командной строки — tasklist и netstat. С помощью tasklist узнаем номер идентификатора процесса — PID, затем в netstat находим номер порта этого процесса.
Поиск идентификатора процесса PID
1. Открываем командную строку: сочетание клавиш <Win +R> и вводим команду CMD.
2. Запускаем tasklist и находим PID процесса.
Если необходимо отобразить полный список процессов, в том числе служебных и системных, необходимо использовать tasklist без аргументов.
tasklist
Команда tasklist /fi «status eq running» найдет только те процессы, которые были запущенны программами. Это сократит список процессов и облегчит поиск.
tasklist /fi "status eq running"
Находим в списке нужную программу, например OneDrive.exe и запоминаем соответствующий PID.
Поиск порта процесса
Для получения списка используемых портов воспользуемся утилитой командной строки netstat.
netstat -aon
B netstat были использованы слtдующие аргументы:
-a — показывает все сокеты, используемые процессами
-o — показывает PID процесса
-n — показывает адреса в числовом формате
В результате будет получен довольно крупный список активных сетевых соединений, среди которых необходимо найти соединение с нужным PID.
Чтобы отфильтровать список и сразу найти сетевое соединение с нужным PID перенаправим результаты netstat в утилиту findstr «PID_number», где PID_number — идентификатор искомого процесса.
netstat -aon | findstr "15304"
В найденных результатах видно, что процесс c PID 15304 (программа OneDrive.exe) использует несколько сетевых портов: 11906, 11907, 11908.
Обращайте внимание на то, для какого траспортного протокола открыт порт: ТСР или UDP. Это информация будет важна, когда будете пробрасывать порт через межсетевой экран.
Программы для просмотра сетевых соединений
Этот способ подойдет для тех, кто не хочет погружаться в работу утилит командной строки Windows, а желает быстро и просто получить информацию о портах, которые использует программа, в графическом интерфейсе.
Без труда в интернете можно найти 2 бесплатные программы для полчения списка сетевых соединений операционной системы — это «TCPView» и «Curr ports».
TCPView
TCPView — программа из набора утилит Sysinternals от Марка Руссиновича, с некоторых пор ставшей частью самого Microsoft. Программа не требует установки, занимает небольшой объем дискового пространства и скачать ее можно с официального сайта Майкрософт: https://docs.microsoft.com/ru-ru/sysinternals/downloads/tcpview.
После запуска программы будет сразу показан список всех сетевых соединений процессов с информацией о протоколе, локальном и удаленном адресе, локальном и удаленном порте соединения. Список можно фильтровать, сортировать и следить за изменениями онлайн. В дополнение к этому можно убить какой-либо процесс или определить кому принадлежит ip-адрес хоста, с которым установлено соединение.
Из мелких недостатков — отсутствие русского языка.
CurrPorts
CurrPorts — программа от проекта под названием NirSoft, который так же специализируется на разработке простых и бесплатных утилит для Windows. Программа так же не требует установки, мало весит и в целом очень похожа на TCPView, но имеет более аскетичный интерфейс. Скачать программу можно с официального сайта проекта: https://www.nirsoft.net/utils/cports.html#DownloadLinks.
Из плюсов программы следует отметить наличие русского языка. Чтобы русифицировать программу нужно скачать отдельный файл русификации и положить его в папку с программой.
Остались вопросы или что-то непонятно — смело оставляйте комментарии.
Программы, способные соединяться с интернетом при подключении к сети используют так называемые порты — цифровые адреса сетевых устройств. Иногда при тонкой настройке программ или устройств возникает необходимость узнать, какое приложение занимает тот или иной порт, например с целью освободить его для другой программы. В Windows сделать это очень просто. Основных вариантов два: с помощью обычной командной строки и с помощью сторонних утилит.
В командной строке
Для отображения текущих соединений TCP/IP в Windows используется штатная консольная утилита netstat. Она может принимать более 10 параметров, но для того чтобы узнать какой порт занят каким процессом, вполне хватит трех: -a, -o и –n. Для начала необходимо получить список всех текущих соединений. От имени администратора откройте консоль CMD и выполните эту команду:
netstat –aon
Данные будут выведены в пять колонок: имя, локальный адрес, внешний адрес, состояние и идентификатор процесса (PID). Отыщите нужный вам порт и посмотрите, с каким PID он связан. Теперь откройте Диспетчер задач, переключитесь на вкладку «Процессы» (в Windows 7) или «Подробности» (в Windows 8.1) и найдите в списке этот PID. А найдя его, вы идентифицируете и процесс.
Примечание: если в Диспетчере задач у вас не отображается ИД процесса, включите его через меню «Вид» -> «Выбрать столбцы».
В утилите CurPorts
Второй способ более прост, но для определения занимающего порт процесса вам понадобится сторонняя утилита CurPorts. Она бесплатна, проста и не требует установки.
Если её запустить, в окошко будут выведены не только порты и связанные с ним процессы и сервисы, но и пути к исполняемым файлам, их описания, версии, данные о разработчике и много другой полезной информации.
Утилита CurPorts доступна для скачивания на сайте разработчика www.nirsoft.net. Там же можно скачать и файл для её русификации.
Загрузка…
Когда приложению требуется доступ к сети, оно использует порт TCP/IP. Занятый порт, естественно, недоступен для других программ. Как же узнать, какой процесс занимает порт, если его необходимо освободить для других целей?
Существуют разные способы решения этой задачи. Мы расскажем о двух: с помощью командной строки и Диспетчера задач (Task Manager) либо с использованием прекрасного бесплатного приложения с полным набором нужных функций.
Способ 1: командная строка и Диспетчер задач
Для начала нужно с помощью командной строки узнать, какие порты используются в данный момент. При этом для каждого порта указывается идентификатор процесса, которым он занят. С помощью этого идентификатора можно затем выяснить, что за приложение использует нужный порт.
Откройте командную строку (желательно от имени администратора, чтобы увидеть все процессы) и введите следующую команду:
netstat -aon | more
Справа показаны PID – идентификаторы процессов (на скриншоте ниже они выделены белым). Найдите нужный вам порт и посмотрите, с каким идентификатором он связан. Например, на нашем скриншоте адрес 0.0.0.0:80, т. е. порт 80, связан с процессом 4708.
Теперь просто откройте Диспетчер задач и найдите в списке нужный ИД процесса. Возможно, для этого придется использовать опцию «Отображать процессы всех пользователей» (Show Processes for All Users). Определив нужный процесс, можно его завершить (End Process), открыть расположение файла (Open File Location) или перейти к службам (Go to Service(s)).
Способ 2: утилита CurrPorts
Если вы не любитель командной строки и предпочли бы выяснить всю нужную информацию с помощью одной программы, рекомендуем прекрасную бесплатную утилиту CurrPorts от NirSoft – одного из наших любимых разработчиков свободного ПО.
Просто запустите программу – и увидите все необходимые данные: процессы с полными адресами соответствующих файлов, занятые ими локальные и удаленные порты.
Можно дважды щелкнуть на любом пункте, чтобы посмотреть подробные сведения.
С помощью CurrPorts также можно завершить процесс, не заглядывая ради этого в Диспетчер задач.
Скачать CurrPorts можно с сайта nirsoft.net.
Автор: Lowell Heddings
Перевод
SVET
Оцените статью: Голосов
Существует много различных приложений, показывающих, какое приложение «слушает» тот или иной порт в настоящее время. Вы можете воспользоваться приложениями SysInternals Process Explorer, Sysinternals TCPView, Nirsoft CurrPorts, все они весьма замечательны, но в нужный момент их может просто не оказаться под рукой. Их отсутствие можно восполнить встроенными средствами операционной системы.
В состав Windows входит консольная утилита netstat. Запустив её с параметром /?, вы увидите, что предназначена она для отображения статистики и активных соединений протокола TCP/IP, а также полный перечень её опций:
Из этого перечня нас интересуют в первую очередь эти:
- -a – отображать все соединения и используемые порты.
- -o – отображать числовой идентификатор процесса, отвечающего за конкретное соединение (Process ID, или попросту PID).
Также хочу обратить ваше внимание на опцию –n, которая указывает утилите netstat отображать реальные айпи адреса и цифровые значения портов вместо из DNS-имен и общепринятых псевдонимов. В ряде случаев это может оказаться полезным.
Порядок действий
- Запустите netstat командой
[code]Netstat –ao[/code]
У меня вывод выглядит так:
- Теперь найдем, к какому процессу относится, ну например, вот это соединение:
Proto Local Address Foreign Address State PID
TCP 192.168.1.100:49183 bos-m057a-sdr1:https ESTABLISHED 3104Оно принадлежит процессу с идентификатором 3104, и выполняется к удаленному узлу с именем bos-m057a-sdr1 на 443 порт. Не покидая командной строки, вы можете быстро выяснить, что такое процесс 3104. Вот так:
[code]tasklist | find «3104»[/code]
Итак, это мессенджер Miranda-IM, а соединение выполнено с сервером ICQ.
Если вам претит tasklist, вы можете воспользоваться системным «Диспетчером задач«. Запустите его, нажав CTRL+SHIFT+ESC, перейдите на вкладку «Процессы». В меню «Вид» выберите пункт «Выбрать столбцы», и отметьте столбец PID:
Нужный процесс можно найти по значению этого столбца:
Я лично предпочитаю tasklist по той причине, что в диспетчере задач нет поиска.
💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.
Судя по тому, что вы читаете этот текст, вы дочитали эту статью до конца. Если она вам понравилась, поделитесь, пожалуйста, с помощью кнопок ниже. Спасибо за вашу поддержку!
Как посмотреть какие порты открыты на компьютере, и кто их использует
04.06.2018
Думаю, если Вы нашли эту статью и собираетесь проверить какие порты открыты на ПК, то объяснять что такое порты, для чего они нужны и как используются различными программами, не нужно. Перейдем сразу к делу.
Смотреть видео:
Чтобы проверить состояние портов, необходимо открыть командную строку. Для этого используйте шорткат 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 перед фаерволами состоит в том, что она не просто блокирует открытые порты, но закрывает их, отключая службы, которые их используют. Это, как Вы понимаете, гораздо эффективнее, потому что устраняет источник проблемы, а не симптомы.
Похожие публикации:
- Как запретить Вайбер и Телеграм сохранять фото в Галерее?
- Как найти жилье в Грузии? Основные сайты для поиска
- Как запустить Android на ПК с Windows? Обзор эмулятора LDPlayer
- Как отобразить секунды в часах на панели задач Windows 10
- Как быстро сменить user-agent в браузере Chrome
Понравилось? Поделитесь с друзьями!
Сергей Сандаков, 42 года.
С 2011 г. пишу обзоры полезных онлайн сервисов и сайтов, программ для ПК.
Интересуюсь всем, что происходит в Интернет, и с удовольствием рассказываю об этом своим читателям.
Содержание
- Способ 1: Утилита netstat
- Способ 2: Брандмауэр Windows
- Способ 3: Онлайн-сервисы
- Способ 4: TCPView
- Способ 5: PortQry
- Способ 6: Веб-интерфейс маршрутизатора
- Вопросы и ответы
Способ 1: Утилита netstat
netstat — стандартная утилита, входящая в состав операционной системы Windows 10. Она применяется для отображения сетевой информации, в том числе и позволяет посмотреть список открытых портов. Благодаря этому можно узнать состояние, тип порта, локальный и внешний адрес. Этот вариант приоритетный, поскольку не требует перехода на разные сайты и скачивания дополнительного программного обеспечения, а о принципах взаимодействия с этой командой читайте в статье по ссылке ниже. Там также описаны и доступные аргументы, которые рекомендуется использовать, чтобы показать только интересующие сведения.
Подробнее: Использование команды netstat для просмотра открытых портов
Порты нужны определенным программам и службам для входящих подключений, поэтому они обязательно отслеживаются стандартным межсетевым экраном. Любое разрешение на открытие порта сохраняется в соответствующем списке, который можно использовать для выполнения поставленной задачи, что происходит так:
- Откройте «Пуск» и перейдите оттуда в меню брандмауэра.
- Через левую панель переместитесь к разделу «Дополнительные параметры».
- Откройте директорию «Правила для входящих подключений».
- Отыщите любое разрешающее подключение и кликните по нему дважды левой кнопкой мыши.
- Переместитесь на вкладку «Протоколы и порты».
- Теперь вы можете без проблем определить локальный порт.
Некоторые программы и службы могут использовать все предлагаемые порты, поэтому в этом меню вы не найдете конкретной привязки к протоколу. Тогда придется обращаться за помощью к одному из следующих методов.
Способ 3: Онлайн-сервисы
Онлайн-сервисы — очень популярный вариант определения открытых портов, поскольку многие пользователи не желают задействовать консоль, чтобы получить какую-либо информацию. На просторах интернета находится огромное количество подходящих сайтов, которые бесплатно выводят список прослушиваемых портов, а о трех самых популярных из них мы предлагаем прочесть далее.
Подробнее: Сканирование портов онлайн
Способ 4: TCPView
TCPView — небольшое программное обеспечение с графическим интерфейсом, которое было перекуплено компанией Microsoft и сейчас находится в свободном доступе на официальном сайте компании. По сути, это аналог рассмотренной выше команды, однако сведения показываются в более понятном виде, а наличие графического интерфейса является огромным плюсом TCPView.
Скачать TCPView с официального сайта
- Перейдите по ссылке выше и скачайте TCPView с официального сайта.
- Устанавливать программу не нужно, поэтому ее сразу же можно запустить из полученного архива.
- В меню TCPView просмотрите список активных процессов, а затем обратите внимание на перечень локальных портов. Это поможет узнать, какие программы в Windows 10 используют порты, а значит, они являются открытыми.
- Переместитесь вправо по таблице, чтобы посмотреть, в каком состоянии находится порт. Например, он может прослушиваться, находиться в ожидании или вовсе не использоваться.
Способ 5: PortQry
PortQry — дополнительная консольная утилита от компании Microsoft, которая позволяет просмотреть открытые порты. Мы рекомендуем пользоваться ее в том случае, если команда netstat и другие варианты вам не подходят, но нужно путем ввода всего одной команды просмотреть список абсолютно всех открытых портов.
Скачать PortQry с официального сайта
- Загрузка PortQry осуществляется с официального сайта компании Microsoft.
- По завершении загрузки остается только произвести инсталляцию, следуя отобразившимся на экране инструкциям. Не меняйте путь распаковки программы или при ознакомлении со следующими командами, описанными в инструкции, учитывайте новое расположение.
- Откройте «Командную строку» от имени администратора, например, через меню «Пуск».
- Перейдите там по пути установки PortQry, чтобы оказаться в ее корне. Осуществляется это путем ввода команды
cd + полный путь к директории
. - Остается только ввести команду
portqry.exe –local
и активировать ее нажатием на Enter для просмотра списка открытых локальных портов. - Опускайтесь вниз, ориентируясь по строкам и столбцам для определения статуса порта, его номера и внешнего адреса.
Способ 6: Веб-интерфейс маршрутизатора
Последний метод просмотра открытых портов в Windows 10 — переход к отдельному меню в интернет-центре роутера. Однако там можно увидеть только те порты, которые были вручную или по умолчанию открыты именно через настройки маршрутизатора, а осуществляется это на примере устройства от TP-Link так:
- Выполните авторизацию в веб-интерфейсе маршрутизатора, следуя инструкциям из следующей статьи.
Подробнее: Вход в веб-интерфейс роутеров
- В меню перейдите к разделу «Forwarding».
- Там вас интересует категория «Port Triggering».
- Ознакомьтесь со списком открытых портов, их адресами и статусом. По желанию любой из них можно закрыть, нажав всего по одной кнопке.
Если нужно открыть конкретный порт, который по каким-то причинам оказался закрыт, потребуется выполнить определенный алгоритм действий. Проще всего справиться с этой задачей, придерживаясь руководств по ссылкам далее.
Подробнее:
Открываем порты в брандмауэре Windows 10
Открываем порты на роутере
Еще статьи по данной теме:
Помогла ли Вам статья?
На компьютере может быть установлено довольно много программ и все они резервируют в операционной системе определенный порт для взаимодействия с другим программным обеспечением по сети. В большинстве случаев пользователь заранее знает какой порт использует программа. Это может быть официально зарезервированный порт, под определенный сетевой протокол. Например почтовые программы используют для приема почты протокол POP3 и резервируют порт 110. Бывают неофициально резервируемые порты, например порт 1540 используемый агентом сервера 1С:Предприятие. Информацию об используемых неофициальных портах разработчики программного обеспечения указывают в документации.
Определения порта программы стандартными средствами Windows
Узнать какой порт использует программа в операционной системе Windows можно используя инструменты командной строки — tasklist и netstat. С помощью tasklist узнаем номер идентификатора процесса — PID, затем в netstat находим номер порта этого процесса.
Поиск идентификатора процесса PID
1. Открываем командную строку: сочетание клавиш <Win +R> и вводим команду CMD.
2. Запускаем tasklist и находим PID процесса.
Если необходимо отобразить полный список процессов, в том числе служебных и системных, необходимо использовать tasklist без аргументов.
tasklist
Команда tasklist /fi «status eq running» найдет только те процессы, которые были запущенны программами. Это сократит список процессов и облегчит поиск.
tasklist /fi "status eq running"
Находим в списке нужную программу, например OneDrive.exe и запоминаем соответствующий PID.
Поиск порта процесса
Для получения списка используемых портов воспользуемся утилитой командной строки netstat.
netstat -aon
B netstat были использованы слtдующие аргументы:
-a — показывает все сокеты, используемые процессами
-o — показывает PID процесса
-n — показывает адреса в числовом формате
В результате будет получен довольно крупный список активных сетевых соединений, среди которых необходимо найти соединение с нужным PID.
Чтобы отфильтровать список и сразу найти сетевое соединение с нужным PID перенаправим результаты netstat в утилиту findstr «PID_number», где PID_number — идентификатор искомого процесса.
netstat -aon | findstr "15304"
В найденных результатах видно, что процесс c PID 15304 (программа OneDrive.exe) использует несколько сетевых портов: 11906, 11907, 11908.
Обращайте внимание на то, для какого траспортного протокола открыт порт: ТСР или UDP. Это информация будет важна, когда будете пробрасывать порт через межсетевой экран.
Программы для просмотра сетевых соединений
Этот способ подойдет для тех, кто не хочет погружаться в работу утилит командной строки Windows, а желает быстро и просто получить информацию о портах, которые использует программа, в графическом интерфейсе.
Без труда в интернете можно найти 2 бесплатные программы для полчения списка сетевых соединений операционной системы — это «TCPView» и «Curr ports».
TCPView
TCPView — программа из набора утилит Sysinternals от Марка Руссиновича, с некоторых пор ставшей частью самого Microsoft. Программа не требует установки, занимает небольшой объем дискового пространства и скачать ее можно с официального сайта Майкрософт: https://docs.microsoft.com/ru-ru/sysinternals/downloads/tcpview.
После запуска программы будет сразу показан список всех сетевых соединений процессов с информацией о протоколе, локальном и удаленном адресе, локальном и удаленном порте соединения. Список можно фильтровать, сортировать и следить за изменениями онлайн. В дополнение к этому можно убить какой-либо процесс или определить кому принадлежит ip-адрес хоста, с которым установлено соединение.
Из мелких недостатков — отсутствие русского языка.
CurrPorts
CurrPorts — программа от проекта под названием NirSoft, который так же специализируется на разработке простых и бесплатных утилит для Windows. Программа так же не требует установки, мало весит и в целом очень похожа на TCPView, но имеет более аскетичный интерфейс. Скачать программу можно с официального сайта проекта: https://www.nirsoft.net/utils/cports.html#DownloadLinks.
Из плюсов программы следует отметить наличие русского языка. Чтобы русифицировать программу нужно скачать отдельный файл русификации и положить его в папку с программой.
Остались вопросы или что-то непонятно — смело оставляйте комментарии.
Общие вопросы
База знаний
Онлайн-справка
FAQ
Форум
Утилиты для лечения
Статья обновлена: 10 сентября 2021
ID: 101
Чтобы посмотреть список открытых портов:
- Откройте командную строку. Инструкция в статье.
- Выполните команду:
netstat -a
- Нажмите Enter на клавиатуре.
Вы получите список открытых портов в Windows.
Вам помогла эта страница?
Спасибо за ваш ответ!
Отзыв о странице
Расскажите, какой информации не хватает на этой странице.
Создать запрос в техническую поддержку можно по ссылкам:
- Поддержка продуктов для дома
- Поддержка продуктов для бизнеса
Что делать чтобы поиск сети не появлялся
Для избежания повторного появления данной проблемы существуют следующие
способы обхода неполадок:
«подключение аккаунта…»
При открытии Steam появляется сообщение «подключение аккаунта…». Оно означает, что игрок пытается войти в сообщество под своим аккаунтом. Возможная проблема, которая при этом может возникать, – вход в аккаунт не происходит, компьютер «подвисает». Чем это может объясняться, и как решить проблему:
- Произошел сбой на Steam-сервере. Подождите минут двадцать или немного больше и попробуйте зайти снова.
- Отсутствует интернет-соединение. Может помочь перезагрузка модема (маршрутизатора).
- Для запуска Steam требуется большой объем памяти, и в том случае, если сообщение «Поиск сети Дота 2» появилось, но все совсем висит, в диспетчере задач нужно закрыть процесс и запустить его снова (Ctrl/Alt/Del – Диспетчер задач – Процессы – steam.exe – Завершить).
«поиск сети дота 2» в самой игре
Войдя в меню Dota 2, на экране вы видите сообщение «Поиск сети Dota 2»:
- Скорее всего, проблемы с доступом к интернету. Сверните окно игры, проверьте, активно ли подключение к сети, если неактивно, переподключитесь.
- Появилось очередное обновление Dota 2. Перезапустите игру и проверьте это.
- Перезагрузите систему и войдите в Dota 2 еще раз.
«поиск сети дота 2» возле ника
Если вы находитесь в меню игры, а справа от вашего ника вы видите сообщение «Поиск сети Дота 2» в течение долгого времени, и она не исчезает:
- Скорее всего, возникли какие-то проблемы на сервере Steam. В таком случае самостоятельно сделать ничего не получится, нужно только подождать.
- Можно попробовать свернуть окно Dota 2 и проверить, есть ли подключение к сети. Если выход в интернет активен, и в браузере страницы без проблем открываются, это наверняка ошибка, описанная в предыдущем пункте.
- Появилось очередное обновление Steam. Просто сверните окно с сообщением (чаще всего оно возникает в новом окне).
Посмотреть список всех портов.
Для этого нужно использовать аргумент -a, netstat -a:
# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:30037 *:* LISTEN
udp 0 0 *:bootpc *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket
netstat -at – покажет список всех TCP портов
netstat -au – покажет список всех UDP портов
Посмотреть какие порты слушаются в данный момент
Для этого используем команду netstat -l:
# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:ipp *:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN
udp 0 0 *:49119 *:*
netstat -lt – все используемые порты TCP
netstat -lu – все используемые порты UDP
Просмотр статистики по протоколам
Данную информацию отображает команда netstat -s:
# netstat -s
Ip:
37850 total packets received
3 with invalid addresses
1 forwarded
0 incoming packets discarded
17349 incoming packets delivered
17635 requests sent out
Icmp:
0 ICMP messages received
0 input ICMP message failed.
Tcp:
312 active connections openings
2 failed connection attempts
114 connection resets received
Udp:
9883 packets received
4 packets to unknown port received.
.....
Отдельная статистика по TCP:
netstat -st
Отдельная статистика по UDP:
netstat -su
Узнать PID и имя ПО, которое проявляет сетевую активность
Для того, что бы узнать какой именно процесс у нас использует сетевое соединения или проявляет аномальную сетевую активность можно использовать команду netstat -pt:
# netstat -pt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 1 0 root.wellweb:47212 192.168.1.1:www CLOSE_WAIT 2109/firefox
tcp 0 0 root.wellweb:52750 lax:www ESTABLISHED 2109/firefox
Отображение таблицы IP роутов
# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth2
link-local * 255.255.0.0 U 0 0 0 eth2
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth2
Узнать какой порт использует определенный процесс
# netstat -ap | grep ssh
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 1 0 dev-db:ssh 192.182.1.1:39213 CLOSE_WAIT -
tcp 1 0 dev-db:ssh 192.182.1.1:57643 CLOSE_WAIT -
Если нужно наоборот, узнать процесс по порту, то команда будет выглядеть так:
# netstat -an | grep ':80'
Расширенная информация о сетевом интерфейсе
Для этого используем команду:
# netstat -ie
Kernel Interface table
eth0 Link encap:Ethernet HWaddr 00:10:42:11:11:11
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:800
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:f6ad0000-f6b10000
Если у Вас возникли сложности и Вы наш клиент, напишите тикет, мы с радостью Вам поможем.
Восстановление файлов steam
Этот метод — крайняя мера, когда вышеописанные пути решения не исправили
ситуацию.
- Выйти из Steam
- Открыть корневую папку Steam (чаще всего путь C:Program Files (x86)Steam)
→ Удалить все директории, кроме:
- Перезапустить Steam и дождаться обновления клиента.
Вредоносное по
Для профилактики необходимо проверить все диски компьютера на
наличие вирусов. Сделать это можно с помощью бесплатной утилиты «Dr.Web
Cure It!» :
Второй способ — требования steam
На такие случаи Steam рекомендует сделать следующее:
Другие проблемы, из-за которых появляется «поиск сети дота 2»
Проблемы стандартного типа, возникающие при попытках провести поиск сети Дота 2:
- Игра «вылетела» в процессе, вы заходите снова, но надпись «переподключиться» не появляется. Это бывает у всех, временные проблемы на серверах или их перезагрузка, может быть просто лаг. Можно спокойно начать новую игру.
- В углу экрана справа вверху в процессе игры возникает сообщение на красном фоне «Потеряно соединение в сервером», и начинается отсчет от двадцати пяти секунд, потом связь разрывается. Скорее всего, проблемы с выходом в интернет: соединение нестабильно, обрыв и тому подобное. Чаще всего подобное возникает у игроков, которые подключены через USB-модем сотового оператора. В такой ситуации следует просто снова подключиться к игре.
Устранив эти причины, с большой вероятностью вы гарантируете себе нормальное подключение к сети и сможете играть спокойно пабы, но если это не помогло, скорее всего, проблема связана с серверами Valve, и вам придется дожидаться ее решения.
Аккаунты с любым рейтингом можно найти у нас на сайте.
Если кто еще не знает, как посмотреть fps, пинг и потери пакетов в dot…
Из-за чего появляется проблема
Самые распространенные причины:
- Сервера Dota 2 недоступны в связи с тем, что на них проводятся профилактические работы. Также они могут быть недоступны во время введения в игру нового обновления.
- Ваш интернет-провайдер ограничил вам соединение в связи с неуплатой, либо в связи с техническими работами на вашем оптоволоконном канале.
То есть, если проблема на стороне сервера, то вам придется просто ждать. Если проблема на стороне вашего провайдера, то вам нужно позвонить по горячей линии и убедиться в этом.
Важно! Если проблема очень долго не устраняется, и вы уже написали в поддержку Steam и позвонили своему провайдеру, а вам ответили, что все в порядке, то, возможно, проблема конкретно в вашем интернет-оборудовании. Есть вероятность, что провод подключения к интернету «пережало», либо он подключен не к тому гнезду в маршрутизаторе
В случае, описанном выше, следует проверить пинг и соединение в других играх.
Изменение параметров запуска dota 2
- Библиотека → Dota 2 (ПКМ) → Свойства
- Общие → Установить параметры запуска
- Ввод команды -clientport 27015 → ОК
С помощью данной команды мы устанавливаем порт для доступа к серверу.Значение
может разниться от 27011 до 27020.
Изменение региона загрузки
Изменение региона загрузки Steam с последующим переподключением к клиенту
иногда тоже может помочь.
- Steam → Настройки
- Загрузки → Регион для загрузки
Из выпадающего списка необходимо подобрать регион, соответствующий фактическому
месту нахождения или максимально к нему приближённый.
Как решить проблему
Если вам сказали, что с соединением всё в порядке, а вы хотите исправить проблему, то можно попробовать воспользоваться тремя способами. По крайней мере вы точно не встретитесь с «Соединение с сетью дота 2 установлено: вход» из-за неполадок на вашей стороне.
Netstat – Отображение активных подключений TCP, портов, прослушиваемых компьютером, статистики Ethernet, таблицы маршрутизации IP, статистики IPv4 (для протоколов IP, ICMP, TCP и UDP) и IPv6 (для протоколов IPv6, ICMPv6, TCP через IPv6 и UDP через IPv6)
Представим ситуацию вы установили например MSM LSI утилиту для просмотра параметров RAID контроллера, запускаете утилиту, но ничего она не находит, потому что закрыт порт а какой вы не в курсе, и не всегда в инете можно быстро найти информацию об этом, для этого вы и может запустить netstat и посмотреть какой порт слушает ваш сервер с MSM процессом.
Открываем командную строку Windows и вводим netstat ?. У вас выскочит справка утилиты.
Первый способ — удаление неправильных программ
Есть ряд программ, которые конфликтуют со Steam. Проверьте, останется ли проблема после их удаления/отключения:
- Некоторые антивирусы. Стандартные и классические антивирусы точно не конфликтуют со Steam, но они могут автоматически добавить его в список запрещенных программ.
- VPN или прокси. Они могут конфликтовать с большинством игрового софта. Однако без них многие игроки не могут заходить на сервера с низким пингом.
- Антишпионские программы. Они ищут проблемы в сети и на компьютере, но делают это слишком активно, запрещая Steam подключаться к серверам.
- Веб-сервера. Они просто требуют очень много интернет-подключения, из-за чего Steam может лагать.
- Ускоряющие программы. Часто они либо нагружают пропускную способность, либо определяются Steam как запрещенные.
Проверьте, что будет после отключения этих программ. В противном случае можно убрать из автозагрузки всевозможные новые приложения и софт.
Переустановка дота 2
Самый отчаянный вариант, когда ничто другое не помогает.
Необходимо указать регион загрузки.
Поиск сети дота 2
С этой проблемой чаще всего сталкиваются:
- при входе в Dota 2;
- когда игра уже начата.
«Симптоматика»:
- Произошёл дисконнект;
- Надпись «переподключиться» исчезла;
- Появилось сообщение «Потеряно соединение с сервером»;
- Появился обратный обратный отсчёт (25 сек).
Соединение с сетью дота 2 установлено
Эта ошибка часто возникает не из-за вашей конфигурации системы или интернета. Зачастую такая проблема преследует игроков, которые присоединяются не к тем серверам.
Стандартные пути решения
Причина |
Решение |
проблемы с сервером Steam |
ожидать восстановления соединения |
проблемы с подключением к сети |
переподключение к Интернет (в некоторых случаях — ребут роутера) |
обновление клиента Steam |
загрузить обновление, предварительно перезайдя в аккаунт |
Бывает и так, что компьютер заражён вредоносным ПО, мешающим работе клиента
Steam. Подробный гайд по решению проблемы можно найти в конце статьи.
В случае, если на экране появилось сообщение «Восстановление соединения
с сетью Dota 2», необходимо просто подождать.
Проверить статус сервера можно на официальной странице Steam:
Третий способ — проверка целостности файлов
Самый популярный способ решения практически всех проблем с играми из Steam.
- Зайдите в Steam. Далее в Библиотеку Игр.
- Далее нажмите на Dota 2 правой кнопкой мыши и выберите «Свойства».
- В открывшемся окне выбираем «Локальные файлы». После чего нажмите на «Проверить целостность игровых файлов».
В течение нескольких минут будет проводится проверка. По её итогу зайдите в игру и проверьте, осталась ли проблема.