netstat foreign address что это
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 в разных ОС, прошу добавлять в комментарии.
Контроль состояния сети: программы 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 | Путевое имя, используемое процессами для доступа к гнезду |
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):
Отобразить все открытые порты, с указанием процессов:
Получить список подключенных к узлу хостов:
Вывести информацию об открытых портах, и отсортировать их по состоянию с указанием количества активных:
Отобразить количество активных подключений с удаленных хостов:
Узнать количество хостов, подключенных к серверу в данный момент:
Русские Блоги
Подробное объяснение команды Linux netstat
Краткое введение
Команда Netstat используется для отображения различной сетевой информации, такой как сетевое соединение, таблица маршрутизации, состояние интерфейса (статистика интерфейса), маскарадное соединение, многоадресные члены (многоадресное членство) и т. Д.
Значение выходной информации
После выполнения netstat вывод
В целом вывод netstat можно разделить на две части:
Одним из них являются активные интернет-соединения, называемые активными TCP-соединениями, где «Recv-Q» и «Send-Q» относятся к очереди приема% 0A и очереди отправки. Эти цифры обычно должны быть 0. Если это не так, это означает, что программный пакет накапливается в очереди. Эту ситуацию можно увидеть только в очень немногих случаях.
Общие параметры
-a (все) отображать все опции, по умолчанию не отображаются LISTEN связанные
-t (tcp) отображает только параметры, связанные с tcp
-u (udp) Показывать только параметры, связанные с udp
-n отказывается отображать псевдоним, может отображать все числа, преобразованные в числа.
-l отображает только статус службы в Listen
-p отображает название программы, установившей соответствующую ссылку
-r отображать информацию о маршрутизации, таблицу маршрутизации
-e Показать расширенную информацию, такую как uid и т. д.
-s Статистика по каждому соглашению
-c выполняет команду netstat каждый фиксированный момент времени.
Примеры практических команд
1. Перечислите все порты (включая отслеживаемые и не отслеживаемые)
2. Перечислите все сокеты в состоянии прослушивания
3. Отображение статистики для каждого протокола
5. Имя хоста, порта или пользователя не отображается в выводе netstat (хост, порт или пользователь)
Вывод также может быть ускорен, потому что нет необходимости в запросах сравнения.
Если вы просто не хотите, чтобы отображалось одно из этих трех имен, используйте следующую команду
6. Непрерывный вывод информации netstat
netstat будет выводить информацию о сети каждую секунду.
7. Показать семейства адресов, которые не поддерживаются системой (семейства адресов)
В конце вывода будет следующая информация
9. Узнайте порт, на котором работает программа
Не все процессы могут быть найдены. Те, у кого нет разрешения, не будут отображаться. Используйте права доступа root для просмотра всей информации.
Узнайте процесс, запущенный на указанном порту
10. Показать список сетевых интерфейсов
11. Анализ IP и TCP
Просмотр IP-адреса с большинством портов, подключенных к услуге
TCP различный список статусов
Команда 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.