- Отслеживание состояния сети в Linux – команда netstat
- Синтаксис и опции netstat
- Контроль сетевых соединений
- Посмотреть сетевые соединения
- Идентификация сетевых процессов
- Получение статистики для различных сетевых протоколов
- 11 примеров использования netstat
- 1. Список всех портов (как прослушиваемых, так и нет)
- 2. Список сокетов, находящихся в состоянии LISTEN
- 3. Просмотр статистики для каждого протокола
- 4. Отображение PID и имени процесса в выводе netstat
- 5. Разрешение имён в выводе netstat
- 6. Вывод информации netstat непрерывно
- 7. Неподдерживаемые системой семейства адресов
- 8. Маршрутизация ядра
- 9. Соответствие портов и процессов
- 10. Сетевые интерфейсы
- 11. netstat -lnptux
- Netstat ������ �������������� ������ linux
- Команды netstat
- Популярные Похожие записи:
- 6 Responses to Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть
Отслеживание состояния сети в Linux – команда netstat
Для получения сведений об активности и статистике сетевых соединений (интерфейсов) существует масса удобных мониторинговых приложений с графическим пользовательским интерфейсом, всевозможных виджетов и т. д. Однако, все эти решения построены на основе стандартных утилит, входящих в состав практически любой Linux- или UNIX-ориентированной системы. Для администрирования серверов на базе системы Linux такие стандартные утилиты являются достаточно исчерпывающим инструментом для получения информации о работе сети. Одной из таких является команда netstat. С помощью неё можно получить вывод с информацией о состоянии сетевого программного обеспечения, статистику сети, сведения о маршрутизации и т.д.
Синтаксис и опции netstat
-a | Показывать состояние всех сокетов; |
-o | Показывать таймен |
-i | Показывает состояние сетевых интерфейсов |
-n | Показывать ip адрес, а не сетевое имя |
-r | Показать таблицы маршрутизации. При использовании с опцией -s показывает статистику маршрутизации. |
-s | Показать статистическую информацию по протоколам. При использовании с опцией -r показывает статистику маршрутизации. |
-f семейство_адресов | Ограничить показ статистики или адресов управляющих блоков только указанным семейством_адресов, в качестве которого можно указывать:inet Для семейства адресов AF_INET, или unix Для семейства адресов AF_UNIX. |
-I интерфейс | Показывать информацию о конкретном интерфейсе. |
-p | Отобразить идентификатор/название процесса, создавшего сокет (-p, —programs display PID/Program name for sockets) |
Ключи можно комбинировать. Самая распространенная команда использования netstat это:
Эта команда выводит довольно большой список. Поэтому для получения нужной информации используйте grep. Например для получения всех портов которые слушаются в системе.
Контроль сетевых соединений
Используя опцию -i можно получить данные о состоянии сетевых интерфейсов системы, а также основных счётчиков трафика. Вывод предоставляется в виде наглядной таблицы с соответствующими столбцами. Формат самой таблицы зависит от используемой системы. К примеру, в Ubuntu, да и вообще в Debian-ориентированных системах он будет примерно таким:
В данном выводе видно, как ведёт себя интерфейс eno1, через который осуществляется соединение в сеть, а также что происходит с интерфейсом обратной связи lo. В столбцах RX/TX приводится статистика по трафику с указанием количества пакетов, в том числе и пакетов с ошибками. В частности, показатель RX свидетельствует о количестве пакетов, полученных интерфейсом, TX – о количестве пропущенных через этот интерфейс пакетов с момента загрузки системы или первичной активации (задействования) интерфейса.
Количество ошибок (RX-ERR, TX-ERR) как правило, не должно быть больше 1% (в некоторых случаях 5%) от общего числа пакетов. Если ошибок больше, то следует проанализировать этот параметр на других компьютерах. Большое количество ошибок в сети (на других компьютерах) свидетельствует о неполадках в окружении сети. На отдельном компьютере излишнее их (ошибок) количество говорит о неполадках с сетевым интерфейсом (сетевая карта) или с самим соединением (кабели, совместимость оборудования).
Посмотреть сетевые соединения
Если дать команду netstat без параметров, то будет выведен список процессов (демонов), для которых установлены сетевые соединения. Если нужно также получить информацию о процессах, которые активных соединений не имеют, но слушают порты, нужно использовать ключ -a:
Данный вывод включает в себя также и информацию о системных сокетах UNIX и UDP. Как видно, в представленном отчёте зафиксировано входящее SSH-соединение, два входящих соединения IMAPS, одно входящее HTTP-соединение, а также несколько портов, которые «слушают» (LISTEN) другие соединения. Адреса в данном выводе представлены в формате имя_хоста:служба, где в качестве службы может выступать порт. В колонках Recv-Q и Send-Q отображается количество запросов в очередях на приём и отправку на данном узле/компьютере. Следует также отметить, что факт установки соединения проверяется только для протокола TCP. Кроме описанных состояний соединений имеются также и некоторые другие:
- TIME_WAIT – ожидание на завершение соединения;
- SYN_SENT – попытка некоторого процесса установить соединение с недоступным ресурсом или сервером;
- SYN_WAIT – состояние, при котором данный узел не может обработать все поступающие запросы. Зачастую это может свидетельствовать об ограничении возможностей системного ядра, либо о попытках намеренно вызвать перегрузку на сервере.
Идентификация сетевых процессов
Для того, чтобы однозначно иметь представление о конкретных процессах или демонах, слушающих соединения (порты) в системе, следует воспользоваться ключами -l и -p. Первый позволяет выводить, собственно, только слушающие порты, второй — для идентификации процесса/демона, например:
Как можно видеть, в данном выводе веб-сервер (один из его процессов) прослушивает по протоколу tcp6 все HTTP-соединения. Демон MySQL прослушивает локальный порт mysql по протоколу tcp. Для того, чтобы иметь возможность видеть номера самих портов, а также IP-адреса хостов, следует к команде netstat -lp добавить ключ n. Стоит также отметить, что для получения полной информации о слушающих процессах нужно запускать команду netstat от имени суперпользователя. Если не используется опция -n и не работает служба DNS, то netstat будет выполняться очень медленно.
Получение статистики для различных сетевых протоколов
Команда netstat позволяет видеть статистические данные по использованию всех доступных в системе протоколов. Для этого нужно использовать ключ -s:
Как видно, выводимая статистика отображается с разбивкой по разделам для каждого протокола. Здесь содержатся очень полезные сведения для анализа и поиска неполадок в работе сети.
Также для команды netstat есть ещё один полезный ключ, позволяющий выводить обновлённые данные с интервалом в одну секунду. Этот ключ работает не в каждой связке с другими опциями. Однако, отслеживание интерфейсов в режиме реального времени с этим ключом очень удобно, например команда netstat -i -a -c будет выводить статистику по использованию всех интерфейсов в системе, в том числе и отключенных (ключ -a) автоматически каждую секунду — ключ -c.
Информацию о таблице маршрутизации позволяет получить ключ -r:
Все рассмотренные ключи предоставляют исчерпывающие возможности для получения информации об использовании сети в подавляющем большинстве случаев. Однако, команда netstat располагает кроме рассмотренных, куда более внушительным арсеналом опций, ознакомиться с которыми можно с помощью команды man netstat.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
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 ������ �������������� ������ linux
Утилита 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
Отображение статистики протокола и текущих сетевых подключений 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).
Процесс разрыва соединения состоит из следующих этапов:
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
Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть-09
Вот такая вот полезная утилиты с которой вы всегда будите знать по каким портам общаются службы на хосте. Читайте далее Утилита TCPView. Как определить какие порты слушает ваш компьютер. Сетевые утилиты 5 часть
Популярные Похожие записи:
6 Responses to Утилита netstat или как определить какие порты слушает ваш компьютер. Сетевые утилиты 4 часть
thank you very much, would you weird area for any designers to hide this setting up. i had been possessing a number of difficulties with a new Dreamhost machine and i had not been guaranteed the reason why works out which they modify demonstrating invisible documents automagically, whereas different hosting space we connect to together with Filezilla appear to indicate invisible documents automagically. your own personal article allowed me to figure it available, i really appreciate it.
Уважаемый Иван, большое спасибо, это отличная получилась статья! У меня все получилось.
Очень рад, что смог вам помочь!
Добрый день. А как узнать какая программа занимает 80 порт?
Очень просто вы через netstat или tcpView смотрите PID процесса, который висит на порту, далее по PID вычисляете исполняемый файл.
>Добрый день. А как узнать какая программа занимает 80 порт?
Для Linux:
netstat -nl4p | grep :80
Для *BSD:
sockstat -l -4 | grep :80
Для Windows NT:
netstat -bnap TCP
(без фильтра, требуется права встроенного администратора для командной оболочки)
Источник