ryg

Утилита netstat в терминале Mac OS X и bash

Синтаксис:

netstat [-AaLlnW] [-f address_family | -p protocol]
netstat [-gilns] [-v] [-f address_family] [-I interface]
netstat -i | -I interface [-w wait] [-c queue] [-abdgqRt]
netstat -s [-s] [-f address_family | -p protocol] [-w wait]
netstat -i | -I interface -s [-f address_family | -p protocol]
netstat -m [-m]
netstat -r [-Aaln] [-f address_family]
netstat -rs [-s]

Описание:

Команда netstat отображает состояние данных сетевых структур, существует возможность выбора формата данных в зависимости от заданных параметров.
В первой форме написания команды выводится список активных сокетов для каждого протокола.
Вторая форма предоставляет содержимое из других сетевых структур и зависит от параметров.
Третья форма позволяет просмотреть информацию о режиме пакетной передачи трафика по настроенным сетевым интерфейсам.
Четвертая форма отображает статистику по указанному протоколу или адресам. Если временной интервал не задан, то будет отображаться информация за последнюю секунду.
Пятая форма отображает статистику (per-interface) по указанному протоколу или адресам. Если временной интервал не задан, то будет отображаться информация за последнюю секунду.
Шестая форма показывает статистику mbuf(9).
Седьмая форма показывает таблицу маршрутизации для заданного адреса.
Восьмая форма написания команды показывает статистику маршрутизации.

Параметры команды netstat:

-A Вывести на экран адреса протоколов, блоков управления, связанные с сокетами и снимки потоков. Используется для отладки.
-a Отобразить состояние всех сокетов на экране. Сокеты используемые процессами сервера не показываются. 
-b Совместно с параметром -i отображает количество полученных и отправленных байт.
-c queue Совместно с параметром -q показывает данные только из заданной очереди queue.
-d При использовании параметра -i выводит на экран количество отброшенных пакетов.
-f address_family Ограничить статистику адресом.
-g Показать информацию, связанную с групповым адресом (multicast). Если присутствует -s будет показан расширенный интерфейс группового управления статистикой. Если есть параметр -v будет показан уровень связей и список источников для каждой группы. Двойное указание -v напечатает заданные таймеры для каждого интерфейса и исходный список счетчиков для каждой группы. В случае указания -i будут выведены данные по конкретному интерфейсу связи. При использовании -f будет отображается информация по конкретным адресам.
 -I interface Показать информацию по конкретному интерфейсу связи. Используется совместно с интервалом ожидания -w.
-i Показать состояние автоматически настроенных интерфейсов. Возможно использование совместно с параметрами -a и -s
-L Показать размер различных списков очередей. Первое число показывает количество отвергнутых соединений, второе число показывает объем невыполненных соединений и третье число максимальное количество ожидающих соединений.
-l Печатать полные адреса IPv6
-m Показать статистические данные об использовании памяти. Возможно более подробное получение информации при двойном использовании параметра -mm или -m-m.
-n Показать сетевые адреса как числа.
-p protocol Показать статистику по заданному протоколу. Некоторые имена и псевдонимы протоколов можно посмотреть в файле /etc/protocols. Специальный протокол с именем "bdg" показывает статистику мостов. Ответ null говорит об отсутствии полезных данных. Если имя протокола указано неверно программа netstat об этом сообщит.
-q Этот параметр требует указания сетевого интерфейса с помощью параметра -i и показывает сетевой интерфейс отправляющий очередь статистики. Можно получить более подробную информацию с помощью двойного указания параметра -qq или -q -q.
-r Показать таблицы маршрутизации. Совместно с параметром -a отобразит дополнительную информацию о протокол-клонированных маршрутах. При использовании -i добавляет столбцы "mtu" (maximum transmission unit).
-R Показать доступность информации. С помощью параметра -i можно ограничить информацию только для конкретного интерфейса
-s Посмотреть статистику per-protocol.
-v Увеличить уровень отображения информации
-W Используется не некоторых экранах терминалов с целью избежать обрезания выводимой информации.
-w wait Время ожидания или интервал для сбора статистики в секундах.
-x Показать дополнительную информацию о каналах. Используется совместно с -R.

По умолчанию для активных сокетов отображаются внутренние (локальные и внешние) адреса, размеры очередей на отправку и получение (в байтах), протокол и внутреннее состояние протокола. Адреса выводятся в формате "host.port" или "network.port". Если известны имя хоста и его адрес (в файлах /etc/hosts или /etc/networks) отображается символьное имя хоста. Если неизвестно символьное имя или использован параметр -n, адрес печатается числом в соответствии с семейством адресов.

Статусы сокетов:

CLOSED: сокет не используется
LISTEN: сокет ожидает входящего соединения. Не связанные ожидающие сокеты отображаются только при использовании параметра -a.
SYN_SENT: идет попытка установки соединения с удаленным узлом в активном режиме.
SYN_RCVD: сокет в пассивном режиме получил запрос на соединение с удаленным узлом.
ESTABLISHED: имеется соединение между локальным приложением и удаленным узлом.
CLOSE_WAIT: Соединение было закрыто удаленным узлом и система ожидает его закрытия локальным приложением.
LAST_ACK: Соединение было закрыто удаленным узлом, локальное приложение закрыло соединение и система ожидает подтверждение от удаленного узла для признания закрытым.
FIN_WAIT_1: Локальное приложение закрыло соединение, удаленный узел не дал подтверждения о закрытии и система его ожидает.
FIN_WAIT_2: Локальное приложение закрыло соединение, удаленный узел дал подтверждения о закрытии и система ожидает закрытия соединения.
CLOSING: Соединение было закрыто одновременно и локальным приложением и удаленным. 
TIME_WAIT: Соединение было закрыто локальным приложением, удаленный узел закрыл эту половину соединения и система ожидает, чтобы удаленный узел получил подтверждение о закрытии.
 

Таблицы маршрутизации показывают доступные маршруты и их статус.
Каждый маршрут состоит и адреса назначения или сети и шлюза используемого в передаче пакетов. Поле флагов отображает собранную информацию о маршруте. Индивидуальные флаги описываются в материалах route(8) и route(4). Следующая таблица описывает связь между флагами и показываемыми символами:
 
 
1 RTF_PROTO1 Специфический флаг протокола маршрутизации #1
2 RTF_PROTO2 Специфический флаг протокола маршрутизации #2
3 RTF_PROTO3 Специфический флаг протокола маршрутизации #3
B RTF_BLACKHOLE Отбрасывать пакеты (во время обновления)
b RTF_BROADCAST Маршрут представляет широковещательный адрес
C RTF_CLONING Для использования генерируются новые маршруты
c RTF_PRCLONING Для использования генерируются новые маршруты для определенного протокола
D RTF_DYNAMIC Создаются динамически (redirect)
G RTF_GATEWAY Назначение требует пересылки посредником
H RTF_HOST  
I RTF_IFSCOPE Маршрут связан с областью действия интерфейса
i RTF_IFREF Маршрут содержит ссылку на интерфейс
L RTF_LLINFO Действительный маршрут для связи и передачи адресов.
M RTF_MODIFIED Динамически модифицируемый (redirect)
m RTF_MULTICAST Маршрут представляет собой адрес многоадресной рассылки
R RTF_REJECT Хост или сеть недоступны
r RTF_ROUTER Маршрутизатор по умолчанию
S RTF_STATIC Добавлен в ручном режиме
U RTF_UP Route usable
W RTF_WASCLONED Маршрут создан в результате клонирования.
X RTF_XRESOLVE  
Y RTF_PROXY Прокси, клонированные маршруты не подключаются.

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

Связанные команды:

hostname -Вывести имя компьютера и узла сети
ping  -проверить сетевое соединение и отклик удаленного сервера
traceroute - проверить маршрут к удаленному серверу
ifconfig - настройка параметров сетевого интерфейса и назначения сетевого адреса компьютера.
ipconfig - Посмотреть и настроить IP-адрес и сетевое подключение
scutil - Управление параметрами системы и сети.

Весь список команд terminal Mac OS X