Сисадминиум

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

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

Вообще эта утилита считается устаревшей и была заменена на утилиту ss, которую мы рассмотрим в следующей статье.

Получить справку об этой утилите можно здесь.

Эта утилита входит в пакет net-tools, поэтому необходимо установить именно этот пакет, чтобы у вас в системе появилась утилита netstat. В пакет net-tools также включены следующие инструменты: arp, ifconfig, rarp, nameif и route. Все они считаются устаревшими, но иногда используются по привычке системного администратора.

И так, чтобы установить net-tools выполните:

$ sudo apt install net-tools

Если мы выполним netstat без дополнительных опций, то увидим активные сетевые соединения (Active Internet connections) и активные соединения с помощью сокетов (Active UNIX domain sockets).

Выводимая информация для интернет соединений и соединений с помощью сокетов отличается.

Выводимые поля для интернет соединений:

Выводимые поля для соединений с помощью сокетов:

Примеры работы и дополнительные опции

Если утилита netstat без опций выводила все активные подключения, то с опцией -a она дополнительно выведет все прослушиваемые порты.

Дополнительно можно отфильтровать информацию по типу протокола:

Эти опции можно совмещать, например следующая команда покажет все активные подключения и прослушиваемые порты только для tcp и udp соединений:

Из вывода выше мы видим что у нас есть tcp соединения и нет udp. В tcp соединениях видно одно в состоянии ESTABLISHED, это я подключен к серверу по протоколу ssh. Остальные имеют состояние LISTEN — это прослушиваемые порты. Наш сервер слушает следующие порты: ssh (22 порт), https (443 порт), http (80 порт).

Только прослушиваемые порты или сокеты

Перечислить все прослушиваемые порты, в том числе и сокеты можно с помощью опции -l. Здесь вы также можете ограничить вывод tcp, udp или linux сокетами.

Например, следующая команда выведет все прослушиваемые порты и сокеты, так как я не ограничиваю вывод определённым протоколом:

Для получения статистики по сетевым протоколам нужно использовать опцию -s. Здесь также можно ограничивать вывод по определённым протоколам, но нельзя использовать опцию -x.

Например следующая команда выведет статистику по протоколу udp:

$ netstat -su
Udp:
314 packets received
0 packets to unknown port received
0 packet receive errors
317 packets sent
0 receive buffer errors
0 send buffer errors
IgnoredMulti: 3856905
UdpLite:
IpExt:
InBcastPkts: 3856905
InOctets: 424191584
OutOctets: 6605615
InBcastOctets: 229159529
InNoECTPkts: 4157300
InECT0Pkts: 10507

:/>  Как имитировать щелчок правой кнопкой мыши на ноутбуке

А ещё утилита netstat именует стандартные порты в имена протоколов, например порт 22 будет назван ssh, 80 — http, 443 — https. Но мы можем выключить это поведение используя опцию -nn.

Также эта утилита умеет выводить имена процессов, которые обслуживают подключения, или слушают порты. Для этого нужно использовать опцию -p. Но чтобы мы увидели названия процессов, нужно запускать утилиту netstat используя sudo.

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

Мы познакомились с утилитой netstat, которая позволяет посмотреть информацию о сетевых подключениях к серверу или от него.

Рассмотрели следующие опции:


Сисадминиум

Сисадминиум

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

Завершение процесса по его имени

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

taskkill /IM _ИМЯ_ПРОЦЕССА_ /F

где _ИМЯ_ПРОЦЕССА_ – это имя процесса, например calc.exe. То есть, для завершения процесса программы “Калькулятор”, нужно выполнить следующую команду:

taskkill /IM calc.exe /F

Флаг /F указывает немедленное завершение указанного процесса

Завершение процесса по его PID

Еще процесс можно завершить по его идентификатору в системе – удобно, в том случае, если Вам нужно завершить какой-то определенный процесс, имя которого, к примеру, совпадает с именами других процессов. Получить PID можно выполнив команду tasklist:


Сисадминиум

taskkill /PID _PID_ /F

где вместо _PID_ должен быть настоящий PID процесса.

Расширенные условия фильтрации процессов

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

Так же программа умеет работать со следующими операторами сравнения:

Разберем на примерах. Например, нужно закрыть процесс iexplore (наименование процесса браузера Internet Explorer) у пользователя Ivan:

Завершим все процессы пользователя Ivan:

Работа с другим компьютером

Программа taskkill так же умеет работать с другим компьютером – для этого используются три следующих флага:

К примеру, если нужно на компьютере с адресом 192.168.100.1 “убить” процесс notepad.exe, то нужно выполнить следующую команду:

:/>  Как запустить скрипт Python в Windows и Linux из консоль или среды разрботки

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

taskkill /S 192.168.100.1 /IM notepad.exe /F

Описание команды taskkill

Команда taskkill завершает одну или несколько задач либо процессов. Процессы могут быть завершены по идентификатору процесса или именам исполняемых файлов на локальной или удаленной системе. Вы можете использовать команду tasklist, чтобы определить идентификатор процесса (PID) для завершения процесса. Например:

— отобразит информацию для процессов с именем, содержащим строку «notepad» и в ответ будет выдано сообщение:


Сисадминиум

Где 13000 и 1684 — это идентификаторы процессов PID с именем, содержащим строку «notepad».

При завершении процессов как локально, так и удаленно, результат выполнения команды TASKKILL зависит от прав пользователя, в контексте учетной записи которого выполняется команда.

Для использования в многопользовательской конфигурации системы, например на сервере терминалов, вместо команды TASKKILL, удобнее и безопаснее использовать команду TSKILL, адаптированную для завершения процессов в среде конкретных пользователей удаленного рабочего стола (RDP).

Команда taskkill заменяет средство Kill .

Используя параметр /FI можно указать следующие фильтры:

Фильтры WINDOWTITLE и STATUS не поддерживаются, если указана удаленная система.

Символ ‘*’ для параметра /IM применим только совместно с фильтрами.

Завершение удаленного процесса всегда выполняется принудительно, независимо от того, указана ли опция /f.

Указание имени компьютера для фильтра имени узла приводит к завершению работы и остановке всех процессов.

Команду taskkill можно использовать в операционных системах Windows XP и старше.

Формат командной строки taskkill


Сисадминиум

Сисадминиум

Сисадминиум

Сисадминиум

Сисадминиум

Сисадминиум

Is there a command equivalent to ‘ps’ on Unix that can list all processes on a Windows machine?

asked Sep 10, 2008 at 5:50

Working with cmd.exe:

If you have Powershell:

(you can query remote machines as well with /node:ComputerOrIP, and there are a LOT more ways to customize this command: link)

answered Sep 10, 2008 at 5:52

7 gold badges47 silver badges53 bronze badges

I wanted to mention that WMIC (pam’s entry) can do a lot more. Have a look at my WMIC snippets page, which is a cheatsheet showing many of the common ways to use WMIC (with sample output shown) here

answered Sep 15, 2008 at 9:53

4 silver badges10 bronze badges

WMIC /OUTPUT:C:ProcessList.txt path win32_process get Caption,Processid,Commandline

answered Feb 15, 2010 at 8:06

I tried on Windows 7. Команда: TASKLIST /FI “IMAGENAME eq application_name”

:/>  Victoria recalibration error что это

Чтобы показать весь процесс с информацией о порте:

ответил 8 ноября 2011 г. в 11:56

список задач или pslist от sysinternals. Кроме того, get-process отлично работает с PowerShell.

ответил 10 сентября 2008 г. в 5:57

1 золотой знак13 серебряных знаков23 бронзовых знака

Если вы используете Powershell, у него есть команда «ps» (она имеет псевдоним Get-Process)

ответил 10 сентября 2008 г. в 7:48

Чтобы убить процесс, используйте:

TASKKILL /F /IM имя_процесса.exe

TASKKILL /F /IM firefox.exe

15 золотых знаков57 серебряных знаков68 бронзовых знаков

ответил 8 мая 2013 г. в 11:58

Если вы используете Windows XP, попробуйте использовать команду ‘tasklist’. Я попробовал это с Vista, и, похоже, это тоже работает.

1 золотой знак2 серебряных знака5 бронзовых знаков

открыть командную строку Windows

ответил 1 июня 2018 в 4:58

Используйте эту команду, чтобы увидеть все процессы в Windows-машине

ответил 5 сентября 2014 г. в 7:30

1 серебряный знак6 бронзовых знаков

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

Нет помощи, чтобы изменить это. Я не мог найти никакой причины или решения, но вместо этого использовал «pslist/accepteula» sysinternal.

Та же проблема с taskkill: пришлось заменить на pskill.

ответил 16 мая 2012 в 6:58

Я сделал msproject (исходный код), архив доступен по адресу:
Архив проекта lsproc.zip

и exe-файл:
Двоичный файл lsproc.exe

это инструмент командной строки
вывод:

ответил 25 марта 2011 в 18:47

С помощью WMI и Powershell вы можете:

Get-WMIObject -Class Win32_Process

Затем вы можете фильтровать свойства с помощью Select-Object и отображать в графическом интерфейсе с помощью Out-GridView.

ответил 16 сентября 2020 г. в 7:29

2 золотых знака19 серебряных знаков32 бронзовых знака

выполняется в cmd,дескриптор — это идентификатор процесса:

Путь wmic.exe Win32_Process, где handle=’22792′ get Commandline /format:list

ответил 17 июня 2021 г. в 2:38

Здравствуйте, если вы хотите получить список идентификаторов запущенных процессов на компьютере с Windows, откройте экран cmd и введите:

используйте клавишу Enter для прокрутки.

ответил 14 августа 2014 в 14:05

Оставьте комментарий