2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Использование команды netstat для просмотра открытых портов

Использование команды netstat для просмотра открытых портов

Как посмотреть открытые порты с помощью команды netstat

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

Используем команду netstat для просмотра открытых портов

Портами называют натуральные числа, которые записываются в заголовках протоколов передачи данных (TCP, UDP и так далее). Они определяют процесс получения и передачи информации в рамках одного хоста и в большинстве случаев используются онлайн-программами для установки соединения. Просмотр открытых портов может понадобиться в случае определения работоспособности приложений или при стандартном мониторинге сети. Лучше всего с этим справится команда netstat, а ее активация доступна с применением разных аргументов.

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

Самый простой аргумент, применяемый к утилите netstat, имеет обозначение -a, и отвечает за вывод сведений обо всех активных подключениях их портов, которые ожидают соединения. Такая информация доступна к просмотру без применения прав администратора и выводится на экран следующим образом:

  1. Поскольку рассматриваемая команда является консольной, потребуется запустить приложение, чтобы ее выполнить. Откройте меню «Пуск», найдите там «Командную строку» и запустите ее. О других методах перехода в консоль читайте в другом нашем материале по следующей ссылке.

Переход в командую строку Windows для использования стандартной команды netstat

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

Отображение информации об активных подключениях через команду netstat

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

Постраничное отображение открытых портов

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

    В консоли пропишите netstat -aon | more и нажмите на Enter.

Читайте так же:
Как сделать нижнюю панель прозрачной?

Ввод команды netstat для подробного отображения параметров постранично

Постраничное отображение соединений с идентификаторами через команду netstat

Продолжение отображение строк с идентификаторами через команду netstat

Завершение отображения строк с идентификаторами в netstat

Теперь хотелось бы поговорить про используемые аргументы и значение увиденных параметров. Давайте сначала затронем знакомые буквы синтаксиса:

  • -a — как известно, отображает сведения обо всех подключениях;
  • -o — отвечает за включение колонки с идентификатором каждого адреса;
  • -n — переводит адреса портов и их номера в числовой формат;
  • more — постраничный вывод элементов.

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

  • CLOSE_WAIT — подключение ожидает своего закрытия;
  • CLOSED — подключение было успешно закрыто;
  • ESTABLISHED — активная работа соединения;
  • LISTENING — ожидается соединение или еще говорят: «Слушается порт»;
  • TIME_WAIT — время ответа было превышено.

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

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

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

    Напишите, например, netstat -aon | more или netstat — a , а затем добавьте > netstat.txt , что означает запись результатов в указанный файл (он будет создан в пользовательской папке). После ввода нажмите на Enter.

Ввод команды для сохранения результатов netstat в текстовом варианте

Запуск текстового файла с сохраненными результатами команды netstat

Просмотр текстового файла с результатами netstat

Поиск по содержимому

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

    Введите netstat -a | find /I «LISTENING» , что задаст параметр отображения только портов с состоянием LISTENING, аргумент /I при этом используется для отмены учета регистра символов.

Команда netstat с фильтром по содержимому

Отображение результатов netstat с фильтром по содержимому

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

Читайте так же:
Сохранить историю сканирования

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

ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.

Помимо этой статьи, на сайте еще 12369 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

ЗакрытьОпишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Использование команды netstat для просмотра открытых портов

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

Просмотреть открытые порты можно двумя способами. Менее надёжный способ — опросить сетевой стек с помощью команды netstat -an или lsof -i . Этот способ не очень надёжен, так как эти программы не подключаются к компьютеру по сети, а просто определяют, что происходит в системе. По этой причине, эти приложения часто подменяются нападающими. Таким способом взломщики пытаются скрыть свои следы, если они незаконно открыли порты.

Другим более надёжным способом проверки открытых портов является использование сканера портов, например nmap .

Следующая команда, запущенная с консоли, определяет, какие порты ждут TCP-соединений из сети:

nmap -sT -O localhost

Эта команда выводит примерно следующие результаты:

Starting nmap V. 3.00 ( www.insecure.org/nmap/ ) Interesting ports on localhost.localdomain (127.0.0.1): (The 1596 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 111/tcp open sunrpc 515/tcp open printer 834/tcp open unknown 6000/tcp open X11 Remote OS guesses: Linux Kernel 2.4.0 or Gentoo 1.2 Linux 2.4.19 rc1-rc7) Nmap run completed — 1 IP address (1 host up) scanned in 5 seconds

Здесь видно, что работает portmap , так как запущена служба sunrpc . Однако есть и некая таинственная служба, открывшая порт 834. Чтобы проверить, не связан ли этот порт с какой-либо известной службой, введите:

cat /etc/services | grep 834

Эта команда не возвращает результата. Это означает, что хотя порт находится в зарезервированном диапазоне (от 0 до 1023) и для его открытия нужны права root, он не связан ни с одной известной службой.

Читайте так же:
Как поставить пароль на Windows 8?

Затем проверьте, что о нём сообщит команда netstat или lsof . Чтобы проверить порт 834 с помощью netstat , выполните следующую команду:

netstat -anp | grep 834

Команда возвращает следующий результат:

tcp 0 0 0.0.0.0:834 0.0.0.0:* LISTEN 653/ypbind

То, что команда netstat показала этот порт, успокаивает, так как злоумышленник, открывший порт на взломанном компьютере, скорее всего, не захочет, чтобы эта команда его вывела. Кроме этого, параметр [p] показывает код процесса (PID) службы, открывшей порт. В данном случае открытый порт принадлежит RPC-службе ypbind (NIS), работающей совместно со службой portmap .

Команда lsof показывает похожие сведения, так как она также может связать открытые порты со службами:

lsof -i | grep 834

Ниже приведена значимая часть результатов команды:

ypbind 653 0 7u IPv4 1319 TCP *:834 (LISTEN) ypbind 655 0 7u IPv4 1319 TCP *:834 (LISTEN) ypbind 656 0 7u IPv4 1319 TCP *:834 (LISTEN) ypbind 657 0 7u IPv4 1319 TCP *:834 (LISTEN)

Эти инструменты позволяют узнать о состоянии работающих на компьютере служб многое. Они очень гибки и могут предоставить массу информации о сетевых службах и их конфигурации. Поэтому очень рекомендуется обратиться к страницам man, посвящённым lsof , netstat , nmap и services .

11 примеров использования netstat

Команда netstat, входящая в стандартный набор сетевых инструментов UNIX, отображает различную network–related информацию, такую как сетевые подключения, статистику интерфейсов, таблицы маршрутизации, masquerade, multicast, и т.п.

В этой статье рассмотрим десять практических примеров использования команды netstat в Linux.

1. Список всех портов (как прослушиваемых, так и нет)

Перечислить все порты: netstat -a

Перечислить все TCP порты: netstat -at

Перечислить все UDP порты: netstat -au

2. Список сокетов, находящихся в состоянии LISTEN

Перечислить все прослушиваемые порты: netstat -l

Перечислить прослушиваемые TCP порты: netstat -lt

Перечислить прослушиваемые UDP порты: netstat -lu

Перечислить прослушиваемые UNIX сокеты: netstat -lx

3. Просмотр статистики для каждого протокола

Показать статистику всех портов: netstat -s

Показать статистику только TCP портов: netstat -st

Показать статистику только UDP портов: netstat -su

4. Отображение PID и имени процесса в выводе netstat

Опция netstat -p добавит «PID/Program Name» в вывод netstat, и может быть совмещена с любым другим набором опций. Это очень полезно при отладке, для определения того, какая программа работает на определённом порту.

Читайте так же:
Как сохранить переписку ВКонтакте на компьютер

5. Разрешение имён в выводе netstat

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

Это также ускорит вывод, так как netstat не станет выполнять ненужный поиск.

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

6. Вывод информации netstat непрерывно

Опция netstat -c будет выводить информацию непрерывно, в стиле top, обновляя экран каждые несколько секунд.

7. Неподдерживаемые системой семейства адресов

Опция netstat —verbose покажет подробный вывод, а в самом конце отобразит неподдерживаемые Address Family.

8. Маршрутизация ядра

Показать таблицу маршрутизации ядра: netstat -r

Примечание: Используйте netstat -rn для просмотра маршрута в цифровом формате без разрешения имён узлов.

9. Соответствие портов и процессов

Узнать, какой порт занимает определённая программа:

Выяснить, каким процессом используется определённый порт:

10. Сетевые интерфейсы

Показать список сетевых интерфейсов: netstat -i

Показать расширенную информацию об интерфейсах (аналогично ifconfig): netstat -ie

11. netstat -lnptux

  • -l все открытые порты (LISTEN)
  • -t по протоколу TCP
  • -u по протоколу UDP
  • -x по протоколу UNIX Socket
  • -n без резолва IP/имён
  • -p но с названиями процессов и PID-ами

Примечание: Не все процессы могут быть идентифицированы последним ключом, чужие процессы показаны не будут. Вы должны иметь права root чтобы увидеть всё.

Команда netstat в Линукс

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

Установка

Для начала проверим, установлена ли программа.

Для этого, введем в терминале название утилиты без параметров.

Если результат выполнения утилиты будет «command not found», значит она не установлена.

netstat входит в пакет net-tools, поэтому нужно устанавливать net-tools.

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

Устанавливаем на Astralinux / Дебиан / Убунту:
apt-get install net-tools

На centos:
yum install net-tools

Синтаксис

  • a или -all — выводит информацию о всех сокетах(об активных которые слушают порты и неактивных, которые не слушают).
  • -r или —route — выводит на экран таблицу маршрутизации.
  • -i или —interfaces — выводит информации об интерфейсах.
  • -g или —groups — показывает информацию о группах (multicast).
  • -M или —masquerade — активные nat соединения.
  • -s или —statistics — статистическая информация по протоколам (IP, Tcp, Udp, Icmp, IcmpMsg, UdpLite, TcpExt, IpExt).
  • -l или —listening — интерпретатор покажет сокеты, которые находятся в состоянии listen (слушает).
  • -p или programs — название программы для сокета.
  • —help — справочная информация.

Примеры

Для первого примера, получим информацию обо всех портах. Для этого будем использовать опцию «-a». Чтобы список не был слишком большим, ограничим его с помощью «more». more — позволяет читать большие тексты по одной странице.

$ netstat -a | more

Проверим, работу программы для кэширования данных «memcached». Для удобства будем использовать сразу три аргумента «-tap».

$ netstat -tap | grep memcached

alt=»Проверка работы программы» width=»700″ height=»37″ />Как видно на скриншоте выше, команда отработала, однако на экране ничего не показала, значит memcached не работает, или вообще не установлен.

Если бы утилита работала, то в результате вывода увидели слово «LISTEN» (слушает).

Посмотрим список всех портов TCP, для этого будем использовать два аргумента «at».

Для просмотра всех UDP, нужно поменять аргумент «t» на «u».

Посмотрим статистику всех портов:

Для того, чтобы непрерывно выводит информацию, поможет аргумент «-с».

Вывести на экран таблицу маршрутизации.

Одна из самых важных задач при диагностики неработоспособности программы — узнать какой порт использует утилита. Чтобы список не был слишком большим, ограничим его при помощи команды grep Подробней о команде можно посмотреть в другой статье https://www.vseprolinux.ru/grep

Для примера узнаем используемый порт активного соединения ssh.
netstat -ap | grep ssh

Посмотреть открытые порты.

Часто бывает так, нужно узнать какие порты открыты, для этого нужно построить список со флагом «listen».

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector