Foreign address netstat что это
Netstat. Примеры использования в Linux, Windows и FreeBSD
Что такое netstat знает практически любой сисадмин, но на всякий случай освежим:
Разница использования утилиты в разных операционных системах небольшая, в основном заключается в синтаксе, а именно в ключах. Мы будем разбирать примеры для Linux более подробно, а для Windows и FreeBSD указывать только сами команды.
Тема довольно обширная и для каждой операционный системы есть свои ньюансы, поэтому остановимся только на основных моментах.
1. Просмотр состояния всех сокетов (как прослушиваемых, так и имеющих другое состояние)
Виды состояний (state):
Для Windows и FreeBSD команда выглядит:
Просмотр только udp соединений:
Для Windows и FreeBSD команда выглядит:
2. Просмотр всех сокетов в состоянии ожидания соединений (Listening)
3. Показ статистики по каждому протоколу.
Для конкретных протоколов (например TCP или UDP):
4. Показывать PID и имя программы
Для Freebsd у netstat такой функции нет, по-крайней мере я ее не нашел. Для этих целей можно использовать lsof
5. Не включать хост, порт и имя пользователя в вывод netstat
Это же справедливо для FreeBSD и Windows.
Соответственно преобразовывать в числовые значения имя порта, имя хоста или имя пользователя.
6. Выводить информацию непрерывно
7. Поиск не поддерживаемых семейств адресов в системе
8. Просмотр таблицы маршрутизации
9. Узнаем на каком порту работает программа
Или наоборот узнаем какой процесс работает на определенном порту:
10. Отображение списка сетевых интерфейсов и информации по ним:
Для Linux и FreeBSD:
Расширенная информация по интерфейсам (для линукс):
На этом заканчиваю это небольшой обзор, если у кого есть другие интересные примеры использования netstat в разных ОС, прошу добавлять в комментарии.
netstat: примеры использования, опции
Утилита netstat выводит сетевые соединения, таблицы маршрутизации, статистику интерфейсов, NAT-соединения, и членство в multicast-группах.
Ключи утилиты netstat
Ключ -i (–interfaces) отобразит информацию об активных сетевых интерфейсах, количество принятых (RX) и переданных (TX) пакетов, количество ошибок:
Ключ -M (–masquerade) отобразит активные NAT-соединения (требeется поддержка ip_masquerade ).
Ключ -s (–statistics) выведет подробную статистику по всем используемым протоколам, например:
Ключ -v (–verbose) – выводить более подробную информацию.
Ключ -n (numeric) – не пытаться преобразовать IP в имена хостов (FQDN):
Полезный ключ -c (–continuous) – выводить информацию через указанное количество секунд:
Ключ -e (–extend) – выводить больше информации, можно указать дважды для получения ещё более подробной информации:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:416477 errors:0 dropped:0 overruns:0 frame:0
TX packets:416477 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:23274808 (22.1 MiB) TX bytes:23274808 (22.1 MiB)
Ключ -p (–program) – вместе с другой информацией выводить имя программы, использующей данный порт/сокет, например:
Ключ -l (–listening) – выводить только те порты/сокеты, которые ожидают подключения.
Ключ -a (–all) – вывести информацию обо всех портах/сокетах.
Ключ -t (tcp) – вывести информацию только по протоколу TCP:
Ключ -u (udp) – тоже, но UDP:
Примеры использования комбинаций ключей
Вывести список всех прослушиваемых (готовых к принятию соединения) портов (TCP):
Отобразить все открытые порты, с указанием процессов:
Получить список подключенных к узлу хостов:
Вывести информацию об открытых портах, и отсортировать их по состоянию с указанием количества активных:
Отобразить количество активных подключений с удаленных хостов:
Узнать количество хостов, подключенных к серверу в данный момент:
Контроль состояния сети: программы ping и netstat
Программа netstat позволяет получить в режиме реального време информацию о состоянии сетевых соединений, а также статистичес данные и таблицу маршрутизации. У этой программы есть несколько опций с помощью которых можно задавать вид получаемой информации.
Команда netstat без опций выдает список сетевых соединений данно системы. (Опции команды netstat приведены в табл. 20.5). Cначала перечисляются активные TCP-соединения, а затем активные гнезда домена типа UNIX. Гнезда этого домена заняты процессами, обеспечивающими установление соединения данной системы с другими системами. Поля перечислены в следующей таблице.
Поле | Описание |
Proto | Протокол, используемый для данного соединения: TCP, UDP |
Recv-Q | Количество байтов, полученных, но еще не скопированных программой пользователя |
Send-Q | Количество байтов, посланных в удаленную систему, получение которых еще не подтверждено |
Local Address | Локальное хост-имя и номер порта |
Foreign Address | Удаленное хост-имя и номер порта, назначенный соединению; номер порта может указываться как тип соединения, например telnet или ftp |
(State) | Состояние соединения с удаленной хост-машиной ESTABLISHED соединение установлено SYN_SENT производится попытка установления соединения SYN_REC соединение устанавливается FIN_WAIT1 соединение прерывается CLOSED соединение прервано LISTEN режим ожидания соединения с удаленной машиной UNKNOWN состояние неизвестно |
Гнезда домена UNIX | |
Proto | Протокол, используемый для данного гнезда (обычно unix) |
RefCnt | Количество процессов, обслуживаемых гнездом на текущий момент |
Tape | Тип доступа к гнезду |
State | Состояние гнезда FREE гнездо не используется LISTENING ожидание соединения UNCONNECTED соединения нет CONNECTING производится попытка установления соединения CONNECTED соединение есть DISCONNECTING прерывание соединения |
Prth | Путевое имя, используемое процессами для доступа к гнезду |
Linux.yaroslavl.ru
Linux Network Administrators Guide | ||
---|---|---|
Назад | Глава 5. Configuring TCP/IP Networking | Вперед |
netstat полезный инструмент для проверки вашей сетевой конфигурации и активности. Он фактически является набором из нескольких инструментов, собранных вместе. Мы будем обсуждать каждую из функций в следующих разделах.
Вторая колонка вывода netstat показывает маршрутизационную запись gateway. Если шлюз не используется, печатается звездочка. Третья колонка показывает сетевую маску (Genmask) маршрута. Когда дается IP-адрес, чтобы найти подходящий маршрут для него, ядро просматривает все записи таблицы маршрутизации, берет побитовое AND адреса и genmask и лишь затем сравнивает результат с целью маршрута.
маршрут использует шлюз (gateway).
интерфейс, который нужно использовать, работает.
устанавливается, если запись таблицы была изменена перенапавляемым сообщением ICMP.
путь неверен (закрыт), все пакеты будут отброшены.
Последнее поле показывает, к какому сетевому интерфейсу относится маршрут.
Поля MTU и Met показывают текущий MTU и метрическое значение для этого интерфейса. Колонки RX и TX показывают сколько пакетов были получены или переданы без ошибок ( RX-OK / TX-OK ), повредились ( RX-ERR / TX-ERR ), сколько было потеряно ( RX-DRP / TX-DRP ) и сколько было потеряно из-за переполнения ( RX-OVR / TX-OVR ).
Последняя колонка показывает флаги, установленные для этого интерфейса. Здесь используется односимвольная версия флагов, которые печатает ifconfig :
Установлен широковещательный адрес.
Этот интерфейс задает устройство loopback.
Интерфайс получает все пакеты (режим promiscuous).
Команда netstat
netstat полезный инструмент для проверки вашей сетевой конфигурации и активности. Он фактически является набором из нескольких инструментов, собранных вместе. Мы будем обсуждать каждую из функций в следующих разделах.
Отображение таблицы маршрутизации
Вторая колонка вывода netstat показывает маршрутизационную запись gateway. Если шлюз не используется, печатается звездочка. Третья колонка показывает сетевую маску (Genmask) маршрута. Когда дается IP-адрес, чтобы найти подходящий маршрут для него, ядро просматривает все записи таблицы маршрутизации, берет побитовое AND адреса и genmask и лишь затем сравнивает результат с целью маршрута.
маршрут использует шлюз (gateway).
интерфейс, который нужно использовать, работает.
устанавливается, если запись таблицы была произведена по приходу перенаправляемого сообщения ICMP (см. раздел Internet Control Message Protocol главы 2), или если запись таблицы была создана демоном динамической маршрутизации, наподобие gated.
устанавливается, если запись таблицы была изменена перенапавляемым сообщением ICMP.
путь неверен (закрыт), все пакеты будут отброшены.
Еще три колонки показывают MSS, Window и irtt, применяемые для соединений TCP через этот маршрут. MSS (Maximum Segment Size) определяет максимальный размер пакета для этого маршрута. Window задает максимальное количество данных, которое система примет в одном пакете с удаленного компьютера. irtt означает «initial round trip time». TCP протокол гарантирует, что данные будут надежно доставлены между компьютерами, повторно передавая пакеты, если они были потеряны. При этом ведется счетчик времени: сколько можно ждать, пока пакет дойдет до машины назначения, и оттуда придет подтверждение. Если время вышло, пакет будет послан еще раз. Этот процесс называется round-trip time. initial round-trip time задает значение, которое используется при установке подключения. Для большинства сетей подходит значение по умолчанию, но для некоторых медленных сетей (особенно ряд типов пакетного радио) время слишком короткое, что вызывает ненужные повторы. Параметр irtt может быть установлен, используя команду route. По умолчанию в этом поле ноль.
Последнее поле показывает, к какому сетевому интерфейсу относится маршрут.
Отображение статистики интерфейса
Поля MTU и Met показывают текущий MTU и метрическое значение для этого интерфейса. Колонки RX и TX показывают сколько пакетов были получены или переданы без ошибок ( RX-OK / TX-OK ), повредились ( RX-ERR / TX-ERR ), сколько было потеряно ( RX-DRP / TX-DRP ) и сколько было потеряно из-за переполнения ( RX-OVR / TX-OVR ).
Последняя колонка показывает флаги, установленные для этого интерфейса. Здесь используется односимвольная версия флагов, которые печатает ifconfig:
Установлен широковещательный адрес.
Этот интерфейс задает устройство loopback.
Интерфайс получает все пакеты (режим promiscuous).
ARP выключен для этого интерфейса.
Это соединение point-to-point.