Список tcp соединений windows

Список tcp соединений windows

Это бывает нужно, например, если вы хотите посмотреть, нет ли «левой» активности от непонятных приложений.

Сначала запустите командную строку командой cmd . В не-инновационных версиях Windows просто делаем Пуск, Выполнить, cmd (или уродливый аналог в Windows 8; а лучше запустить из нормального файл-менеджера с командной строкой).

Затем выполнить в командной строке вот это:

Команда сбросит список активных подключений в файл с именем 1.txt , который создастся в текущей папке.

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

Увидеть, что получилось, можно, открыв файл в любом текстовом редакторе. Если в первых строках файла вместо символов кириллицы — «кракозябры», не унывайте, просто ваша консоль создала текстовый файл в кодировке DOS. Попробуйте открыть его, например, с помощью Notepad++, предварительно выбрав в его меню Кодировки — Кириллица — OEM 866.

Потом спокойно анализируем файл, все подключения как на ладони. Увидели, скажем, такое:

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

Кстати, прилагаю список некоторых полезных консольных команд Windows, которые можно выполнить так же, как мы выполнили эту.
set Показать список системных переменных, в их числе будут и имя пользователя или компьютера
nbtstat -a Отображение всех подключений и ожидающих портов
net localgroup group user /add Добавить в группу group пользователя user
net localgroup group user /delete Удалить пользователя из группы
net send pc «текст» Отправить сообщение пользователю компьютера pc
net sessions Список пользователей
net session /delete Закрыть все сетевые сессии
net use t: \\имя_компютера\папка\ Подключить сетевым диском t: папку на удаленном компьютере
net user имя /active:no Заблокировать пользователя
net user имя /active:yes Разблокировать пользователя
net user имя /domain Информация о пользователе домена
net user Имя /add Добавить пользователя
net user Имя /delete Удалить пользователя
reg add Добавить параметр в реестр (нужны дополнительные параметры, как и командам ниже)
reg compare Сравнивать части реестра
reg copy Копировать из одного раздела в другой
reg delete Удалить указанный параметр или раздел
reg export Экспортировать часть реестра
reg import Импортировать часть реестра
reg load Загрузить выбранную часть реестра
reg query Вывести значения заданной ветки реестра
reg restore Восстановить выбранную часть реестра из файла
reg save Сохранить выбранную часть реестра
reg unload Выгрузить выбранную часть реестра
shutdown -s Выключить компьютер
shutdown -r Перезагрузить компьютер
systeminfo Вывести системную информацию о вашей машине
systeminfo /s machine Вывести системную информацию об удаленной машине

Читайте также:  Windows 10 20h2 обновление драйверов

И т.д., не забывайте про «волшебный» параметр /? у команд — это справка о команде. Например, командная строка

покажет все варианты синтаксиса этой команды, а затем

детализирует информацию по команде net send .

Конечно, всё это имеет смысл делать с правами администратора.

Как определить, какое приложение занимает конкретный порт — в этой заметке, а здесь — основные команды Windows, открывающие окна системных приложений настройки.

23.10.2014, 10:31; рейтинг: 10173

Мониторинг открытых TCP/IP подключений с помощью PowerShell

Многие администраторы для отображения информации о сетевых подключениях TCP/IP, открытых TCP портах в Windows привыкли использовать консольную утилиту netstat или графическую TCPView. В PowerShell для замены утилиты netstat можно использовать командлет Get-NetTCPConnection, который можно довольно гибко использовать для получения информации об активных сетевых соединениях в Windows, открытых сетевых портах и запушенных процессах, которые используют TCP протокол. Благодаря тому, что PowerShell это объектно-ориентированный язык, вы можете довольно удобно делать сложные скрипты для получения информации и мониторинга открытых портов, процессах и установленных сетевым соединениях.

Попробуйте запустить командлет Get-NetTCPConnection без параметров.

Команда по аналогии с netstat вывела список всех активных подключений с указанием локального и удаленного адреса, порта, состояния подключения (Listen, Established Internet, TimeWait, Bound, CloseWait, SynReceived, SynSent, TimeWait) и идентификатор процесса (PID), которые использует это TCP подключение.

Можно вывести список локальных портов, которые слушаются (открыты) на вашем компьютере:

Get-NetTCPConnection -State Listen | Select-Object -Property LocalAddress, LocalPort, RemoteAddress, RemotePort, State | Sort-Object LocalPort |ft

Можно вывести только внешние (Интернет) подключения:

Get-NetTCPConnection -AppliedSetting Internet

Для всех сетевых TCP подключений можно вывести DNS имена удаленных хостов и имена процессов.

Данный PowerShell скрипт выполнил разрешение всех IP адресов хостов в DNS имена, и для каждого соединения указал имя процесса, который его использует.

По имени PID родительского процесса можно вывести список связанных имен служб Windows, которые используют сеть:

Get-WmiObject Win32_Service | Where-Object -Property ProcessId -In (Get-NetTCPConnection).OwningProcess | Where-Object -Property State -eq Running | Format-Table ProcessId, Name, Caption, StartMode, State, Status, PathName

Можно вывести только сетевые подключения, которые инициированы определенным процессом. Для этого можно использовать такой PowerShell скрипт:

$TrackProcessName = “*firefox*”
$EstablishedConnections = Get-NetTCPConnection -State Established |Select-Object -Property LocalAddress, LocalPort,@>,RemoteAddress, RemotePort, State,@>, OffloadState,CreationTime
Foreach ($Connection in $EstablishedConnections)
<
If ($Connection.ProcessName -like $TrackProcessName)
<
$Connection|ft
>
>

Ареал применения командлета Get-NetTCPConnection очень широкий. Например, вы можете создать простой PowerSHell скрипт, который должен отслеживать установку соединения с определенного IP адреса на указанный локальный порт и выводить всплывающее уведомление администратору.

В следующем примере PowerShell скрипт проверяет, когда появится соединение с указанного IP адреса по порту RDP порту 3389. Если такое подключение появится в списке, он выведет всплывающее уведомление и логирует дату и время подключения в текстовый файл:

$TrackingIP = “192.168.10.50”
$TrackingPort =”3389”
$log = «C:\ps\rdp_connection_log.txt»
$EstablishedConnections = Get-NetTCPConnection -State Established
Foreach ($Connection in $EstablishedConnections)
<
If (($Connection.RemoteAddress -eq $TrackingIP) -and ($Connection.LocalPort -eq $TrackingPort))
<
Add-Type -AssemblyName System.Windows.Forms
$global:balmsg = New-Object System.Windows.Forms.NotifyIcon
$path = (Get-Process -id $pid).Path
$balmsg.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$balmsg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Warning
$balmsg.BalloonTipText = «К вашему компьютеру подключились по RDP c $($Connection.RemoteAddress)»
$balmsg.BalloonTipTitle = «Новое RDP подключение с $($Connection.RemoteAddress)»
$balmsg.Visible = $true
$balmsg.ShowBalloonTip(10000)
(Get-Date).ToString() + ‘ ‘ + $Connection.RemoteAddress + ‘ установлено RDP подключение ‘ >> $log
>
>

Читайте также:  Русификация battle brothers linux

Аналогичным образом можно отслеживать и логировать сетевые подключения по любому другому протоколу, например SSH, SMB, FTP, SMTP и т.д. Такой PowerShell скрипт можно оформить в виде службы Windows, которая будет запускаться автоматически.

С помощью PowerShell remoting командлетов (Enter-PSSession и Invoke-Command) вы можете получить список открытых TCP портов и подключений на удаленных компьютерах.

Invoke-Command -ComputerName host1

Командлет Get-NetTCPConnection (также как и Test-NetConnection) может быть крайне полезен для мониторинга и диагностики сетевых подключений в Windows.

TCPView v4.0

By Mark Russinovich

Published: March 23, 2021

Download TCPView (1.4 MB)
Run now from Sysinternals Live.

Introduction

TCPView is a Windows program that will show you detailed listings of all TCP and UDP endpoints on your system, including the local and remote addresses and state of TCP connections. On Windows Server 2008, Vista, and XP, TCPView also reports the name of the process that owns the endpoint. TCPView provides a more informative and conveniently presented subset of the Netstat program that ships with Windows. The TCPView download includes Tcpvcon, a command-line version with the same functionality.

Using TCPView

When you start TCPView it will enumerate all active TCP and UDP endpoints, resolving all IP addresses to their domain name versions. You can use a toolbar button or menu item to toggle the display of resolved names. On Windows XP systems, TCPView shows the name of the process that owns each endpoint.

By default, TCPView updates every second, but you can use the Options|Refresh Rate menu item to change the rate. Endpoints that change state from one update to the next are highlighted in yellow; those that are deleted are shown in red, and new endpoints are shown in green.

You can close established TCP/IP connections (those labeled with a state of ESTABLISHED) by selecting File|Close Connections, or by right-clicking on a connection and choosing Close Connections from the resulting context menu.

You can save TCPView’s output window to a file using the Save menu item.

Using Tcpvcon

Tcpvcon usage is similar to that of the built-in Windows netstat utility:

Usage:

Parameter Description
-a Show all endpoints (default is to show established TCP connections).
-c Print output as CSV.
-n Don’t resolve addresses.

Microsoft TCPView KB Article

This Microsoft KB article references TCPView:

Download TCPView (1.4 MB)

Run now from Sysinternals Live.

Runs on:

  • Client: Windows 8.1 and higher.
  • Server: Windows Server 2012 and higher.

—>

Команда NETSTAT: просмотр статистики сетевых соединений в Windows

Для отображения статистики сетевых соединений в командной строке Windows существует команда NETSTAT. Разберём синтаксис этой удобной команды.

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-t] [интервал]

-a — отображение всех подключений и ожидающих портов;

-b — отображение исполняемого файла, участвующего в создании каждого подключения, или ожидающего порта. Бывает так, что известные исполняемые файлы содержат множественные независимые компоненты. В этом случае отображается последовательность компонентов, участвующих в создании подключения, либо ожидающий порт. В этом случае имя исполняемого файла размещается снизу в квадратных скобках, компонент, который им вызывается, размещается сверху, и так до тех пор, пока не достигается TCP/IP;

-e — отображение статистики Ethernet. Можно применять вместе с параметром -s ;

-f — отображение полного имени домена (FQDN) для внешних адресов;

-n — отображение адресов и номеров портов в числовом формате;

-o — отображение кода (ID) процесса каждого подключения;

-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 — отображение текущего подключения в состоянии переноса нагрузки с процессора на сетевой адаптер при передаче данных (offload);

-v — подробный вывод информации, если возможно;

интервал — повторный вывод статистических данных через указанный интервал в секундах. Для прекращения вывода используйте ctrl+c. Если параметр не задан, сведения отображаются один раз.

Примеры использования команды netstat :

Получить список всех сетевых соединений и связанных с ними программ:

Отмечу, что параметры в команде можно объединять. Это значит, что мы можем использовать такую форму написания:

Получить статистику по протоколу Ethernet:

Получить более подробную статистику по протоколу Ethernet (включает в себя статистику по отдельным интерфейсам):

Получить статистику по протоколу Ethernet и по протоколам IP, ICMP, TCP и UDP:

Отображение статистики только по протоколу ICMP:

Каждые 10 секунд отображать статистику сетевых соединений с использованием полных DNS-имён узлов:

Также netstat можно использовать вместе с другими командами. Например, чтобы отобразить все соединения в постраничном режиме вывода на экран:

Отобразить все соединения с записью вывода в файл:

Отобразить все соединения со статусом listening. Ключ /i говорит, что при поиске не учитывается регистр символов:

То же самое, но отображаемое с интервалом в 20 секунд:

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

Читайте также:  Чтобы ноутбук не засыпал при закрытии крышки windows 10
Оцените статью