netstat

advertisement
Нижегородский Государственный Технический
Университет им. Р.Е.Алексеева
Кафедра «Вычислительные системы и технологии»
Лабораторная работа №2
«Настройка сетевой системы ОС Linux»
Выполнил:
студент группы 10-В-2
Кульнев Андрей
Нижний Новгород
2014 год
Цель работы: Изучение установки и конфигурирования сетевого интерфейса, маршрутизации и
контроля сетевых связей в ОС Linux.
План работы:
1. Конфигурирование сетевого интерфейса.
2. Управление пространством сетевых имен.
3. Формирование подсетей и маршрутизация.
4. Средства конфигурирования сети в интерфейсной среде (GNOME или KDE).
5. Контроль за сетью, получение статистики и другой сетевой информации.
Выполнение работы:
1. Конфигурирование сетевого интерфейса.
Определить параметры сетевых интерфейсов. Рассмотреть назначение и содержимое
конфигурационных файлов:
/etc/sysconfig/network, /etc/sysconfig/networks-scripts/*,
/etc/rc.d/rc.sysinit, /etc/rc.d/rc3.d/*, /etc/modules.conf
Командой ifconfig назначить назначить параметры IP-протокола для сетевого интерфейса.
Проверить сетевой доступ по IP-адресам внутри подсетей.
Данная лабораторная работа проводилась в учебной аудитории в которой сеть была разделена на две
подсети. В таблице ниже приведём две подсети со своими характеристиками:
Параметры подсети
IP – адрес сети
Сетевая маска
Broadcast
Коммутатор
Номера компьютеров
Первая подсеть
192.168.26.0
255.255.255.128
192.168.26.127
D-LINK
1–4
Вторая подсеть
192.168.26.128
255.255.255.128
192.168.26.255
3COM
4–9
Узлы в первой сети имеют адреса с последним байтом соответствующим номеру компьютера в
аудитории. Узлы во второй сети имеют адреса с последним байтом соответствующим номеру
компьютера в аудитории +200.
Рассмотрим назначение и содержимое конфигурационных файлов:
Файл /etc/sysconfig/network
Данный файл - это конфигурационный файл, содержащий информацию обо всех сетевых
интерфейсах и маршрутизации для данного узла. Файл, использующийся для конфигурирования
сети. Этот файл содержит общие настройки сети.
Некоторые параметры, которые могут быть заданы в данном файле:
NETWORKING=yes
- Настраивать сеть или нет
FORWARD_IPV4=yes - Выполнять IP-маршрутизацию или нет
HOSTNAME= localhost. – Задает имя узла
GATEWAY=0.0.0.0 - Задает IP-адрес удаленного маршрутизатора (если доступен).
GATEWAYDEV= gwdev - gwdev имя устройства (eth#), через которое будет возможен имеете доступ
к удаленному маршрутизатору.
Данный файл на моей виртуальной машине содержит следующие строки:
NETWORKING=yes
HOSTNAME=.andrew
/etc/sysconfig/networks-scripts/*
В каталоге /etc/sysconfig/networks-scripts расположены файлы настроек и сценарии для работы с
различными типами сетевых устройств и подключений.
Для нас наибольший интерес имеют файлы ifcfg-*. Именно в них описываются настройки сетевых
интерфейсов присутствующих на узле. Файл ifcfg-ethN содержит следующие параметры:
DEVICE=devicename, где devicename имя физического сетевого устройства.
IPADDR=ipaddr, где ipaddr IP-адрес.
NETMASK=netmask, где netmask сетевая IP-маска.
NETWORK=network, где network IP-адрес подсети.
BROADCAST=broadcast, где broadcast широковещательный IP-адрес.
ONBOOT=answer, где answer yes или no (Будет ли интерфейс активным во время загрузки или нет).
BOOTPROTO=proto, где proto одно из:
 none: не использовать протокол времени загрузки.
 bootp: использовать протокол bootp (сейчас pump).
 dhcp: использовать dhcp-протокол.
USERCTL=answer, где answer одно из:
 yes (Не только пользователь root может контролировать это устройство).
 no (Только пользователь root может контролировать это устройство).
Пример содержимого файла /etc/sysconfig/networks-scripts/ifcfg-p7p1 на моей виртуальной машине
отображен на рисунке 1.
Рис. 1 Содержимое файла /etc/sysconfig/networks-scripts/ifcfg-p7p1
Также в каталоге /etc/sysconfig/networks-scripts присутствует множество скриптов. Можно
выделить, например, скрипты запуска и останова интерфейсов (ifup-* и ifdown-*)
/etc/rc.d/rc.sysinit
В каталоге /etc находится каталог rc.d, содержимое которого непосредственно касается процесса
загрузки системы. В этом каталоге находятся следующие файлы: /init.d, /rc0.d, /rc1.d, /rc2.d, /rc3.d,
/rc4.d, /rc5.d, /rc6.d, rc, rc.local, rc.sysinit
Здесь находится семь каталогов для каждого уровня выполнения, каталог init.d и три
исполняемых файла rc, rc.local, rc.sysinit.
Подкаталог /init.d содержит по одному скрипту для каждой из служб, установленных в системе.
Этот скрипт отвечает за запуск, остановку или перезагрузку соответствующей службы.
Файл rc.sysinit предназначен для выполнения начальных действий, необходимых для корректного
функционирования операционной системы. В этом скрипте происходит инициализация
оборудования, подключение swap-раздела, монтирование и проверка локальных файловых систем.
Каталоги /rcX.d играют исключительную роль в процессе загрузки, поскольку они содержат
основные скрипты, необходимые для организации процесса загрузки. В каталоге /rcX.d размещаются
ссылки на файлы скриптов, находящихся в каталоге /etc/rc.d/init.d. Названия этих ссылок имеют
имена, начинающиеся либо с буквы К(kill), либо с буквы S(start), после которой идет двухзначное
число и имя соответствующей службы. Файл, начинающийся с буквы S, отвечает за старт
соответствующего процесса, а файл, начинающийся с буквы К, отвечает за остановку
соответствующего процесса. Цифры, идущие после S или К в именах ссылок, задают порядок
запуска скриптов.
Файл rc.local вызывается по окончании исполнения файла rc и предназначен для команд,
добавляемых администратором для запуска в процессе начальной загрузки. В него рекомендуется
помещать дополнительные сервисы или персональные настройки.
/etc/rc.d/rc3.d/
Для каждого уровня выполнения присутствует свой каталог, который определяет службы,
запускаемые на этом уровне. Такой каталог содержит ссылки на скрипты запуска (runscripts).
Данный каталог соответствует уровню выполнения 3 (многопользовательский режим с поддержкой
сети).
Вернемся к практической работе. Нам нужно с помощью команды ifconfig назначить параметры
IP-протокола для сетевого интерфейса. Для этого заходим в систему под учетной записью root и
прописываем следующее:
Ifconfig eth1 192.168.26.206 netmask 255.255.255.128
Адрес broadcast можно не указывать, он будет вычислен на основе указанного IP-адреса и сетевой
маски Результат действия команды отображен на рисунке 2.
.
Рис. 2 Задание параметров IP-протокола для сетевого интерфейса
Проверим доступность машин в сети по ip-адресам с помощью команды ping тремя вариантами:
1) Указав правильный адрес в своей сети
Пингуем машину с адресом 192.168.26.207 (рис. 3)
Рис. 3 Проверка связи с существующей машиной из своей сети
Пинг проходит, связь есть
2) Указав неправильный адрес в своей сети
Пингуем машину с адресом 192.168.26.250 (рис. 4)
Рис. 4 Проверка связи с неправильным адресом в своей сети
Удаленный компьютер не достижим из данной сети. Такой ответ приходит, если маршрутизатор в
сети, не может найти куда дальше переслать запрос. Это означает, что удаленный компьютер с таким
IP адресом может и существовать, но маршрутизатор не знает к нему путь. Эта проблема возникает
при неправильной настройке протоколов маршрутизации.
3) Указав правильный адрес в другой сети
Пингуем машину с адресом 192.168.26.3 (рис. 5)
Рис. 5 Проверка связи с машиной из другой сети
Пинг не проходит и нам выдается сообщение о недоступности сети. Это обусловлено тем, что
нами еще не выполнялась настройка маршрутизации.
Стоит отметить, что заданный параметры с помощью команды ifconfig не постоянны, если
перезагрузить систему придется зонного производить все настройки. Чтобы сохранить настройки
нужно отредактировать конфигурационные файлы, либо воспользоваться специальными утилитами,
которые сами редактируют конфигурационные файлы.
2. Управление пространством сетевых имен.
Изучить способы описания и трансляции имен хостов и сетей в IР-адреса.
Рассмотреть назначение файлов:
hostname, networks, hosts, hosts.allow, hosts.deny, host.conf, resolv.conf.
Установить правильные имена хостов в подсетях.
Проверить доступ к компьютерам по их именам.
Файл /etc/hostname
В файле /etc/hostname содержится символьное имя локального узла. Это имя обычно также
отображается в приглашении bash. Для работы с этим файлом используется команда hostname:
Зададим имя локальном узлу. Для этого прописываем следующее:
hostname 5426-6
Имя узла изменилось, его можно посмотреть командой hostname (рис.6)
Рис. 6 Отображение имени локального узла
Файл /etc/networks
Связывает доменные имена с адресами сетей. В файле /etc/networks хранятся доменные имена и IPадреса сетей, с которыми у системы есть соединение, а не доменные имена конкретных
компьютеров. Сети имеют сокращенные IP-адреса. В зависимости от типа сети в IP-адресах может
использоваться одно, два или три числа.
IP-адреса записываются в файле /etc/networks вместе с соответствующими им доменными именами
сетей. IP-адрес состоит из сетевой части и машинной части. Сетевая часть хранится в файле networks.
В этом файле всегда будет присутствовать отдельная запись для сетевой части IP-адреса компьютера.
Нам необходимо отредактировать данный файл, добавив в него записи о наших подсетях. Добавляем
в него следующие строчки:
Net1 192.168.26.0
Net 2 192.168.26.128
Содержимое файла /etc/networks отображено на рисунке 7.
Рис. 7 Содержимое файла /etc/networks
Файл /etc/hosts
Связывает хост-имена с IP-адресами. Каждому IP-адресу ставится в соответствие доменное имя.
Система преобразует доменное имя, по которому пользователь обращается к определенному
компьютеру, в соответствующий IP-адрес, и он используется для установления соединения с
указанным компьютером. В общем случае /etc/hosts содержит только записи для локальной машины
и, возможно, других "важных" машин (таких как сервер имен или шлюз).
Нам необходимо добавить в данный файл записи о машинах 1-9 с соответствующими IP-адресами.
Добавляем следующие записи:
192.168.26.1
192.168.26.2
192.168.26.3
192.168.26.4
192.168.26.204
192.168.26.205
192.168.26.206
192.168.26.207
192.168.26.208
192.168.26.209
5426-1
5426-2
5426-3
5426-4
5426-4
5426-5
5426-6
5426-7
5426-8
5426-9
Отметим, что мы добавляем две строчки для 4-й машины, т.к. она имеет две сетевые карточки.
Файлы /etc/hosts.allow и /etc/hosts.deny
В них содержится информация, которой руководствуется tcpd при управлении доступом.
Назначение файлов однозначно определяется их именами, hosts.allow содержит список узлов, которым
разрешен доступ к службам сети, тогда как hosts.deny - список узлов, которым запрещен доступ.
Если такие файлы не существуют, tcpd разрешает доступ всем узлам и просто регистрирует
обращения к службам. Очевидно, если необходимо осуществлять только наблюдение за
обращениями, эти два файла можно не создавать.
Если файлы существуют, tcpd сначала обращается к файлу hosts.allow, а затем к файлу hosts.deny.
Поиск прекращается, как только найдена запись, соответствующая узлу и службе, о которых идет
речь. Таким образом, доступ, разрешенный файлом hosts.allow, не может быть заблокирован записью
из hosts.deny.
Формат записей одинаков для обоих файлов:
список_служб: список_узлов [: команда_интерпретатора]
Список_служб - список сетевых служб, элементы которого разделены запятыми.
Список_узлов, элементы которого разделены запятыми, - это список имен узлов, доменных имен,
IP-адресов или номеров сетей.
Ниже приводится полноценная запись hosts.allow, разрешающая всем узлам домена
wrotethebook.com доступ к службам FTP и Telnet:
ftpd,telnetd : .wrotethebook.com
В записях hosts.allow и hosts.deny допустимы специальные ключевые слова AL L и LOCAL.
Ключевое слово ALL может использоваться в списке служб для указания всех служб сети, а также в
списке узлов для указания всех имен узлов и адресов. Второе ключевое слово, LOCAL, может
использоваться только в списке узлов. Оно соответствует всем локальным именам узлов, tcpd
считает имя узла «локальным», если оно не содержит точек.
/etc/host.conf
Файл /etc/host.conf содержит настройки для библиотеки резолвера (resolver). Резолвером называется
механизм преобразования имен узлов (обычно компьютеров) сети в IP адреса и обратно (так
называемое прямое и обратное преобразование). Данный файл должен содержать в каждой строке
одно ключевое слово, за которым следует информация о соответствующей этому ключевому слову
настройке:
 order – данное ключевое слово задает метод, с помощью которого будет осуществляться
поиск адреса узла. За этим словом должно следовать одно или несколько названий методов,
разделенных запятыми:1)bind 2)hosts 3)nis
 trim – данное ключевое слово может быть использовано больше одного раза. Каждый раз,
когда указывается это слово, за ним должен следовать список доменов, начинающихся с
точки и разделённых двоеточем (`:'), точкой с запятой (`;') или запятой (`,'). Эта настройка
говорит библиотеке resolv+ отсекать указанное имя домена из конца всех имен узлов, которые
преобразуются в адреса через DNS. Этот параметр задумывался для использования с
локальными узлами и доменами. Стоит отметить, что отсечение не будет выполняться для
имен узлов, обрабатываемых через NIS или файл /etc/hosts.
 multi – допустимыми для этого ключевого слова являются значения on и off. Если задано on,
то библиотека resolv+ будет возвращать все допустимые адреса узла, которые встретились в
файле /etc/hosts, а не только первый из них. По умолчанию стоит off, так как в противном
случае возможно существенное снижение производительности на сайтах с большими
файлами узлов.
 nospoof – допустимыми для этого ключевого слова являются значения on и off. Если задано
on, библиотека resolv+ будет пытаться предотвращать обман по именам узлов для усиления
безопасности rlogin и rsh. Это работает так: после выполнения поиска адреса узла по имени,
резолвер будет выполнять поиск имени узла по адресу. Если эти два имени не совпадут, то
результат операции будет признан ошибочным. По умолчанию значение установлено в off.
 spoofalert – допустимыми для этого ключевого слова являются значения on и off. Если
значение данного ключевого слова установлено в on и при этом также установлено nospoof, то
резолвер будет записывать в системный журнал предупреждения об ошибках через syslog. По
умолчанию значение этого ключевого слова установлено в off.
 spoof – допустимыми для этого ключевого слова являются значения off, nowarn и warn:
1)Если эта опция установлена в off, то обманные адреса допускаются, и в системный журнал через
syslog не будет попадать никаких предупреждающих сообщений.
2)Если эта опция установлена в warn, то библиотека resolv+ будет пытаться предотвращать обман по
именам узлов для усиления безопасности, и в системный журнал через syslog будут записываться
предупреждения об ошибках.
3)Если эта опция установлена в nowarn, то библиотека resolv+ будет пытаться предотвращать обман
по именам узлов для усиления безопасности, но предупреждающие сообщения генерироваться не
будут.
4)Установка этой опции в значение, отличное от вышеописанных, будет считаться установкой в
значение nowarn.
 reorder – допустимыми для этого ключевого слова являются значения on и off. Если задано on,
то резолвер будет пытаться перегруппировать адреса узлов так, чтобы локальные адреса (т. е.
адреса в той же подсети) были выданы первыми, когда выполняется вызов gethostbyname(3).
Перегруппировка выполняется для всех методов поиска. По умолчанию установлено значение
off.
Содержимое файла /etc/host.conf отображено на рисунке 8.
Рис. 8 Содержимое /etc/host.conf
Эти строки указывают библиотекам разрешения вначале искать в файле /etc/hosts требуемый
домен, а потом обратиться к серверу имен (если таковой имеется). Строка multi допускает множество
IP адресов для одного имени компьютера в /etc/hosts (4-я машина с 2-мя сетевыми картами).
Файл /etc/resolv.conf
/etc/resolv.conf определяет, как ресолвер FreeBSD получает доступ к Системе Доменных Имён.
Основные записи resolv.conf:
nameserver IP адрес сервера имён. Сервера опрашиваются в порядке описания. Максимальное кол-во
адресов - 3.
search
Список доменов для поиска с помощью hostname lookup. Обычно определяется доменом,
в котором находится компьютер.
domain
Домен, в котором находится компьютер.
Типичный вид resolv.conf:
search foobar.com
nameserver 147.11.1.11
nameserver 147.11.100.30
Проверим связь между узлами по именам машин. Для этого прописываем следующее:
ping –c 4 5426-7.
В результате связь есть (рис. 9).
Рис. 9 Проверка связи с узлом №7 по имени
3. Формирование подсетей и маршрутизация.
Командой route получить таблицу маршрутизации и рассмотреть свойства каждого
маршрута. Объяснить механизм формирования и адресации подсетей.
Командами ping и traceroute трассировать прохождение пакетов по узлам я
маршрутизаторам.
Изобразить схему сети на канальном уровне.
Изобразить схему IP-сети лаборатории с выходом в Интернет.
Воспользуемся командой route, чтобы вывести на экран маршруты содержащиеся в таблице
маршрутизации. Сама таблиц маршрутизации храниться в /proc/route.Команда route изменяет
таблицы IP-маршрутизации ядра. Программа главным образом используется для настройки
статических маршрутов к определённым узлам или сетям через интерфейс после того, как интерфейс
был настроен. Итак, выполним команду route без параметров, чтобы вывести на экран маршруты,
содержащиеся в таблице маршрутизации (рис. 10).
Рис. 10 Результат выполнения команды route без параметров
Перед анализом результата опишем поля таблицы маршрутизации:
Поле
Описание
Destination IP-адрес конечного пункта маршрута
IP-адрес или хост-имя шлюза, используемого на данном маршруте; символ * говорит о
Gateway
том, что шлюз в сети не используется
Genmask Маска сети маршрута
Тип или состояние маршрута: U=активный, Н=хост, С=шлюз, D=динамический,
Flags
М=модифицированный
TCP MSS (Maximum segment size) для маршрута - максимально количество данных,
MSS
которое может быть передано за один раз
Metric
"Стоимость" маршрута (количество переходов до шлюза)
Ref
Количество использований маршрута на текущий момент
Use
Количество пакетов, пересланных по данному маршруту
Iface
Тип интерфейса, используемого на данном маршруте
В результате выполнения команды мы видим, что у нас в таблице маршрутизации имеется одна
запись, данная запись позволяет взаимодействовать узлу в своей сети. Наш узел принадлежит сети
Net2 (192.168.26.128) c маской сети маршрута genmask (255.255.255.128). Флаг U говорит о том, что
маршрут активен. Интерфейс, используемый в на данном маршруте – eth1.
Как же происходит работа с таблицей маршрутизации. Когда ядру нужно определить, как и куда
переправить пакет с определенным адресом назначения, оно смотрит на таблицу маршрутизации.
При сравнении с каждой записью на адрес назначения в пакете накладывается маска маршрута
(выполняется побитовая конъюнкция). Если результат совпадает с адресом назначения маршрута,
выбирается этот маршрут. При наличии нескольких подходящих записей обычно выбирается
маршрут с наиболее длинной маской и малой метрикой.
Нам нужно организовать связь узлов из разных подсетей. Поэтому на каждом узле мы должны
добавить маршрут к соседней сети. Добавим статический маршрут к соседней сети Net1, выполнив
следующую команду:
route add -net 192.168.26.0 netmask 255.255.255.128 gw 192.168.26.204
Операция add говорит о том, что мы добавляем маршрут таблицу маршрутизации. Используем
тип –net, так как мы задаем маршрут к сети, а не хосту, также указываем маску сети и шлюз.
Снова воспользуемся командой route без параметров, чтобы посмотреть изменения в таблице
маршрутизации и команду route –n для отображения адресов вместо символьных имен (рис. 11). В
результате мы увидим, что в таблице маршрутизации появилась новая запись.
Рис. 11 Просмотр таблицы маршрутизации после добавления маршрута к другой сети
Теперь нужно попробовать связаться с узлом из другой сети. Для этого прописываем следующую
команду:
ping 192.168.26.2 (рис. 12)
Рис. 12 Проверка связи с узлом №2 из другой сети
В результате связь есть. Однако, стоит отметить, что при выполнение данной работы изначально
машина №4 была правильно настроена:


В ее таблице маршрутизации описаны пути к обеим сетям.
Разрешить передачу транзитных пакетов в опциях ядра.
В целях эксперимента, изменим параметр /proc/sys/net/ipv4/ip_forward, записав в него значение 0.
Тем самым мы запретили пересылку пакетов между интерфейсами.
В результате, если повторить попытку связи с узлом 192.168.26.2, то связи не будет, однако, в
результате выполнения команды ping, мы не увидим сообщения о недоступности сети, а увидим
просто, что все пакеты потеряны.
Теперь выполним трассировку прохождения пакетов используя команду traceroute.
Команда traceroute очень полезна для диагностики сети. Traceroute показывает все хосты, через
которые проходит пакет по пути к конечному назначению. Утилита traceroute похожа на ping в том,
что использует ICMP-пакеты.
Воспользуемся командой traceroute для трассировки маршрута в соседнюю сеть. Для этого
приписываем следующее:
traceroute –n 5426-3 (рис. 13).
Рис. 13 Трассировка маршрута к узлу 5426-3
Из полученного результата мы видим, что перед тем как пакет попадет на третью машину, он
попадает на четвертую машину, которая у нас выполняет роль маршрутизатора.
Организуем доступ во внешнюю сеть. Выход во внешнюю сеть будет осуществляться через шлюз
маршрутизатора (192.168.15.1). Нам нужно на узлах создать еще один виртуальный сетевой
интерфейс. IP-адрес будет выбираться исходя из правила 192.168.15.N+20. Итак, прописываем
следующую команду:
ifconfig eth1:0 192.168.15.26 netmask 255.255.255.224
После чего вводим команду ifconfig без параметров. В результате мы видим, что появился новый
виртуальный сетевой интерфейс на базе существующего физического (рис. 14). Т.е. мы присвоили
более чем один IP-адрес физическому сетевому интерфейсу.
Рис. 14 Добавление виртуального сетевого интерфейса eth1:0
Пробуем пропинговать адрес порта маршрутизатора. Прописываем ping –c 4 192.168.15.1 (рис. 15)
Рис. 15 Проверка связи с маршрутизатором
Связь есть. Теперь для выхода во внешнюю сеть нужно описать маршрут по умолчанию.
Маршрут по умолчанию будет использоваться в тех случаях, когда все другие записи не подходят.
Этот маршрут соответствует адресу назначения (Destination) 0.0.0.0 и маске (Genmask) 0.0.0.0 (такая
маска является короткой, поэтому маршрут с ней будет использоваться в последнюю очередь).
Воспользуемся командой route, чтобы создать маршрут по умолчанию и шлюз:
route add default gw 192.168.15.1
И посмотрим таблицу маршрутизации (рис. 16)
Рис. 16 Таблица маршрутизации после добавления маршрута по умолчанию
Можно проверить доступность узла с адресом 192.168.200.18 (рис. 17)
Рис. 17 Проверка связи с 192.168.200.18
Связь есть. Данный адрес является адресом DNS – сервера. Т.к. связь есть, то будем использовать
данный сервер по его прямому назначению. Для настройки dns заходим в файл host.conf. Мы уже
рассматривали содержимое этого файла ранее (см. рис. 8). Нам нужно, чтобы в этом файле было
указание обращения к dns-сервер, после просмотра содержимого локального файла host. Данная
настройка там выполнена.
Нужно определить dns-сервер. Для этого заходим в файл resolve.conf и задаем в нем параметр
nameserver 192.168.200.18 (рис. 18).
Рис. 18 Содержимое файла resolve.conf
Сохраняем изменения в данном файле и проверяем связь с www,nntu.nnov.ru (рис. 19).
Рис. 19 Проверка связи с www.nntu.nnov.ru
Связь с использованием dns-имени есть, значит настройка выполнена верно и dns-сервер выполняет
свои функции.
В случае с первой сетью необходимо на четвертом компьютере поднять NAT. Назначить правило,
позволяющее включать NAT.
# iptables –t nat –A POSTROUTING –S 192.168.26.0/27 –j MASQUERADE
Проверим доступность ресурса сети интернет до www.ngtu.nnov.ru для проверки доступа во
внешнюю сеть
[root@5426-3 /]# ping www.ngtu.nnov.ru
PING www.ngtu.nnov.ru (78.25.80.210) 56(84) bytes of data.
64 bytes from echo.ip-center.ru (78.25.80.210): icmp_seq=1 ttl=250 time=18.1 ms
64 bytes from echo.ip-center.ru (78.25.80.210): icmp_seq=2 tt2=250 time=20.3 ms
64 bytes from echo.ip-center.ru (78.25.80.210): icmp_seq=3 tt3=250 time=22.1 ms
64 bytes from echo.ip-center.ru (78.25.80.210): icmp_seq=4 tt4=250 time=19.1 ms
^C
--- www.ngtu.nnov.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2815ms
rtt min/avg/max/mdev = 18.194/19.938/22.141/1.497 ms
Выполним теперь трассировку пакетов, до www.ngtu.nnov.ru, чтобы определить количество
маршрутизаторов на пути (рис. 20)
Рис. 20 Трассировка пакетов до www.ngtu.nnov.ru
По полученным данным можно сделать вывод, что пакеты прошли через 13 маршрутизаторов и
связь с сетью есть. Первым на пути пакета был маршрутизатор ИРИТа, следующий за ним был
маршрутизатор, политеха (10.10.255.2 – порт маршрутизатора политеха).
Traceroute (Linux) и tracert (Windows)
Принцип работы команды основан на отсылке серии IP пакетов с возрастающим параметром Time
To Live (TTL) от 1 до максимум 30 (по умолчанию). Каждый маршрутизатор на пути следования
пакета, приняв пакет с TTL=1 отсылает источнику сообщение ICMP type 11 ,code 0 (time exceeded,
TTL exceeded). Таким образом, у источника есть шанс узнать путь к хосту назначения. При условии,
конечно, что для всех отосланных пакетов путь был одинаковым, т.е. маршруты стабильными и
предопределенными. На разных ОС команда реализована разными способами.
Linux
Используются udp пакеты с начальным TTL по умолчанию равным 1 и с портом назначения по
умолчанию случайным образом выше 0x8000 (32768) Т.н. расширенная (extended) traceroute
позволяет задавать параметры, отличные от параметров по умолчанию.
Каждый маршрутизатор на пути следования пакетов, получивший пакет с TTL=1 отсылает
источнику ICMP сообщение type 11, code 0 (time exceeded, TTL exceeded).
По достижении пакетом хоста назначения, последний отправляет ICMP type3, code 3 (destination
unreachable, port unreachable).
Рис. 21 Работа команды traceroute в linux
Иногда появляются в выводе так называемые звездочки (* * *). Они объясняются тем, что часто
маршрутизаторы/хосты настраиваются таким образом, чтобы они не отвечали на подобного рода
запросы, в таком случае и появляются звездочки. Это совершенно не значит, что имеются какие-то
проблемы. Делается это для того, чтобы разгрузить оборудование.
Microsoft Windows
Для трассировки использует ICMP type=8, code=0 (echo request) вместо UDP. Соответственно, хост
назначения высылает ICMP type=0, code=0 (echo reply). Все остальное аналогично.
Рис. 22 Работа команды tracert в windows
Изобразить схему сети на канальном уровне и схему IP-сети лаборатории с выходом в
Интернет.
На канальном уровне имеем 2 сети. Первая сеть объединят 4 узла на коммутаторе D-LINK. Вторая
сеть объединяет 5 узлов на коммутаторе 3COM. Порт коммутатора второй сети связан с портом
маршрутизатора ИРИТа. Узел №4 входит имеет две сетевые карточки и входит и в 1-ю и во 2-ю сеть.
Ниже представлена схема сети на канальном уровне:
В данной лабораторной работе сеть разделена не две подсети. Адрес первой сети – 192.168.26.0,
адрес второй сети – 192.168.26.128. Сетевая маска в данном случае будет 255.255.255.128. Четвертый
узел играет роль маршрутизатора, для доступа из одной подсети в другую. Также есть выход в сеть
деканата через шлюз (ip=192.168.15.1). Используя команду traceroute мы определили, что после
маршрутизатора ИРИТа пакеты попадают на порт маршрутизатора политеха (10.10.255.2), а затем в
Интернет. Ниже представлена схема IP-сети лаборатории с выходом в Интернет.
4. Средства конфигурирования сети в интерфейсной среде (GNOME или KDE).
Найти и опробовать системные утилиты, относящиеся к конфигурированию сети.
Мы будем рассматривать средства конфигурирования сети в интерфейсной среде Gnome. Заходим в
список приложений, выбираем категорию «Прочие» и в появившемся списке выбираем «Сетевые
соединения» (Рис.23).
Рис. 23 Список приложений
Выбираем «Сетевые соединения». Запустится утилита GNOME Network Manager (рис. 24).
Данная утилита пришла на замену устаревшей утилиты system-config-network, которая работала
от имени root и обрабатывала файлы в /etc/sysconfig/network-scripts/. Неудобство устаревшей
утилиты было в трудностях создания соединений доступных и видимых для одних пользователей и
невидимых для других. К тому же Network-Manger позволяет соединить настройку всех типов сетей
в единой утилите, и настраивать их общими, похожими методами.
Рис. 24 Окно настройки сетевых соединений
В появившемся окне «Сетевые соединения» у нас присутствуют 5 вкладок. Рассмотрим каждую
из них. В каждой вкладке содержится список соответствующих соединений и кнопки управления для
добавления соединения, изменения параметров соединения и удаления соединения. Рассмотрим
каждую из них.
Проводные
Данная вкладка предназначена для настройки обычных соединений через кабель. В списке по
умолчанию содержатся автоматически созданные подключения, по одному для каждого сетевого
адаптера. На моём компьютере установлено две сетевых платы.
По умолчанию эти соединения настроены на самый распространённый случай, т.е. на получение
IP-адреса и адресов DNS автоматически при подключении кабеля. Выберем соединения «Ыystem
p7p1» и нажмем «Изменить». Появится окно настройки соединения (рис. 25).
Рис. 25 Окно настройки соединения
Здесь во вкладке «Проводные» содержаться технические параметры, которые менять обычно не
нужно к ним относятся MAC-адрес устройства, MTU.
Во вкладке «защита 802.1х» (рис. 26). можно настраивать параметры контроля доступа и
аутентификации.
Рис. 26 Вкладка защита 802.1х
Перейдем к самой интересующей нас вкладке «Параметры IPv4» (рис. 27). По умолчанию стоит
автоматическое конфигурирование, используя DHCP. Настроим соединение вручную. Зададим ipадрес 192.168.26.206, маску 255.255.255.128 и шлюз 192.168.26.204.
Рис. 27 Вкладка «Параметры IPv4»
Также в этой вкладке можно добавить маршруты в таблицу маршрутизации. Для этого нажимаем на
кнопку «Маршруты…», далее в появившемся окне (рис. 28) нажимаем «добавить» и добавляем
маршрут путем задания соответствующих значений.
Рис. 28 Добавления маршрута, используя возможности GNOME Network Manager
Сохраняем изменения и смотрим на результат. Заходим в терминал и выполняем команды ifconfig
и route. Результат отображен на рисунке 29.
Рис. 29 Результат настройки соединения через GNOME Network Manager
Стоит отметить, что применение настроек вступило в силу после перезагрузки компьютера. И как
можно заметить настройки сохраняются после перезагрузки в отличие от настройки сетевых
интерфейсов чере команду ifconfig, т.к. GNOME Network Manager вносит изменения в
конфигурационные файлы.
Беспроводные сети
Вторая вкладка основного окна называется Беспроводная сеть и настраивает беспроводные сети, в
конфигурационном окне также четыре вкладки для разных параметров соединения (рис. 30).
Рис. 30 Настройка беспроводного соединения
На первой вкладке указываем общие параметры сетевого соединения, такие как SSID, режимы
работы, mac и MTU. На второй вкладке указываем параметры соединения с сетью и метод
аутентификации в ней. На третьей вкладке, как и в случае с проводными сетями, указываем
параметры IPv4. Network Manager создаёт для каждой найденной сетевой карты автоподключение, с
расчётом на то что в сети есть DHCP. Network Manager автоматически собирает информацию о
доступных сетях и пытается к ним подключиться, выводя окно с запросом параметров соединения,
введя данные (если они вам известны) вы подключаетесь к сети о чем будет выведено сообщение и
значок апплета в системном лотке изменит свою форму (будет показывать мощность сигнала сети),
обычно NetworkManager сам определяет метод шифрования в сети и её SSID.
Мобильные широкополосные соединения
В третьей вкладке основного окна можно настроить интернет соединений через мобильное
широкополосное соединение. Например через мобильный телефон, или модем провайдера. При
подключении устройства NetworkManager автоматически увидит его, и выведет мастер настройки
соединения в котором нужно будет указать вашего мобильного провайдера, и регион, после чего
NetworkManager найдёт нужные настройки в своей базе настроек. В базе содержится параметры
большинства крупных провайдеров, что позволяет очень легко настроить соединение (но нет
возможности настроить соединений через bluetooth).
Если в этой базе нет используемого провайдера можно указать настройки вручную. После
прохождения всех шагов мастера, в основном окне сетевых настроек, появиться пункт сетевого
соединения:
Если нажать на кнопке изменить, то откроется знакомое нам окно с четырьмя вкладками, на
первой вкладке указываем параметры сетевого соединения, на второй указываются настройки
аутентификации, на третьей вкладке настройки IPv4, на четвертой вкладке настройки IPv6.
VPN
Четвёртая вкладка называется VPN. Она содержит в себе пользовательский сети VPN,
поддерживает протоколы vpnc, OpenVPN и MS pptp. Что бы добавить VPN соединение можно
использовать два пути. Первый с помощью мастера, либо с помощью импорта из уже
существующего файла с настройками. Мастер вызывает нужную форму в зависимости от того какой
вид VPN вы укажете.
DSL
Последняя вкладка отвечает за соединения DSL. Самая распространённая форма соединения с
Интернет. Соединения управляются из окна с четырьмя вкладками, два из которых мы видели ранее,
а еще два содержат форму ввода логина-пароля и форму настроек аутентификации пользователя.
При добавлении нового соединения в форме следует указать пару логин-пароль для соединения, а
также если нужно, укажите параметры аутентификации. Обычно это не требуется.
В итоге можно сделать вывод, что утилита GNOME Network Manager является весьма удобным
решением для конфигурирования различных соединений, объединяя возможности различных
настроек в одном месте. Утилита имеет понятный интерфейс, тем самым облегчая процедуру
настройки соединений.
Существует также весь популярны аналог для Network Manager. Он называется wicd. Wicd графическое приложение, написанное на Python. Гибкая и удобная в использовании программа,
предлагающая большой функционал. Wicd легко устанавливается и им также легко пользоваться.
Достаточно всего нескольких минут для ознакомления с программой. Стоит также заметить, что
Wicd, помимо графического интерфейса, имеет и консольный вариант "исполнения", не уступающий
по функциональности.
5. Контроль за сетью, получение статистики и другой сетевой информации.
Командой netstat с различными опциями (-I, -r, -n, -a…) получить и интерпретировать
статистическую и другую информацию.
Изучить работу протокола ARP. Командой arp вывести кэш-таблицу протокола ARP и найти
MAC-адреса сетевых карт всех компьютеров в подсети.
В файловой системе /proc/net/ найти текущую информацию о сетевой подсистеме ядра.
netstat (network statistic) - это утилита командной строки показывающая сетевые соединения (как
входящие, так и исходящие), таблицы маршрутизации и различные статистики сетевых интерфейсов.
Утилита присутвует как в Unix системах, так и в Windows. Разница использования утилиты в разных
операционных системах небольшая, в основном заключается в синтаксе, а именно в ключах.
Рассмотрим результат выполнения команды netstat с различными опциями, сначала мы будем
выполнять более подробно комаду в linux, затем в windows:
netstat -a
Команда с данной опцией показывать состояние всех сокетов; обычно сокеты, используемые
серверными процессами, не показываются. Выполним данную команду, но с уточнением.
Посмотрим состояния только TCP соединений. Для этого пропишем следующее:
netstat –at
Результат выполнение представлен на рисунке 31.
Рис. 31 Результат выполнения команды netstat –at
Адреса представлены в формате имя_компьютера:сервис, где сервис — номер порта. Для
известных сервисов порты указаны в символическом виде (соответствия между номерами портов и
их именами определены в файле /etc/services). При наличии опции -n все адреса отображаются в
числовом виде.
В колонках Send-Q и Recv-Q показывается, сколько запросов находится во входящих и
исходящих очередях на данном компьютере. На другом конце соединения размеры очередей могут
быть другими. Желательно, чтобы эти значения были близки к нулю и не были ненулевыми
постоянно.
Состояние соединения имеет значение только для протокола TCP. Протокол UDP не проверяет
факт установления соединения. Наиболее распространенные
состояния: ESTABLISHED (установлено) — для активных соединений, LISTENING (ожидание) —
для серверов, ожидающих поступления запросов (при отсутствии опции -а обычно не
показываются), TIME_WAIT (ожидание закрытия) — для соединений, находящихся в процессе
закрытия.
Эта информация полезна главным образом для устранения проблем на более высоком уровне,
если, конечно, базовые сетевые средства работают нормально. Команда netstat позволяет проверить
правильность настройки серверов и диагностировать определенные виды нарушений связи, особенно
при работе с протоколом TCP. Например, если соединение находится в состоянии SYN_SENT, это
означает наличие процесса, который пытается установить контакт с несуществующим или
недоступным сервером.
Если команда netstat сообщает о большом количестве соединений, находящихся в состоянии
SYN_WAIT, то компьютер, вероятно, не в состоянии обработать запросы на установление
соединений. Такая ситуация может быть вызвана ограничениями системного ядра или даже
злонамеренными попытками вызвать перегрузку.
Выполним монтирование сетевого каталога и опять выполним команду netstat –at на сервере (рис
32) и netstat –atn (рис. 33).
Рис. 32 Команда netstat –at после монтирования сетевого каталога
Рис. 33 Команда netstat –atn после монтирования сетевого каталога
В результате после монтирования мы увидим в списке соединение tcp c состоянием установлено. В
столбце локальный адрес у него укано 5426-1:nfs. Выполнение данной команды еще и с опцией –n
отображает локальный адрес как 192.168.26.1:2049. Как мы знаем, 2049 – номер порта для работы
nfs.
Данная команда и результат в windows немного отличаются. Команда в windows имеет немного
другой синтаксис при указание ключей и в результате отсутствует информация о количестве
запросов во входящих и исходящих очередях (рис. 34):
Рис. 34 Результат команды netstat –a -p tcp в windows
netstat -s
Команда netstat -s выдает содержимое всевозможных счетчиков, используемых в сетевых
программах. Информация разбивается на разделы в соответствии с протоколами: IP, ICMP, TCP и
UDP.
Фрагменты результата применения команды netstat -s:
Ip:
399 total packets received
0 forwarded
0 incoming packets discarded
399 incoming packets delivered
296 requests sent out
Icmp:
65 ICMP messages received
0 input ICMP message failed.
ICMP input histogram:
destination unreachable: 62
echo requests: 3
59 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 56
echo replies: 3
IcmpMsg:
InType3: 62
InType8: 3
OutType0: 3
OutType3: 56
Tcp:
2 active connections openings
4 passive connection openings
2 failed connection attempts
0 connection resets received
1 connections established
122 segments received
110 segments send out
0 segments retransmited
0 bad segments received.
18 resets sent
Udp:
62 packets received
56 packets to unknown port received.
0 packet receive errors
123 packets sent
0 receive buffer errors
0 send buffer errors
В прошлом эксперименте мы монтировали сетевой каталог. Информацию об установленных TCP
соединениях можно получить и используя команду netstat –s. Для этого в приведённом выше
результате нужно найти статистику по TCP протоколу и найти строчку с количеством
установленных соединений. Вот эта строчка: «1 connections established». Она говорит о том, что
установлено одно соединение. Выполним команду umount на клиенте и еще раз посмотрим на
статистику для TCP протокола (рис. 35).
Рис. 35 Статистика для TCP протокола после команды umount
Результат команды netstat –s в windows (рис. 36) практически идентичен результату команды в linux.
В linux результат чуть более объемен, за счет присутствия некоторой обобщающей статистике по
протоколам. В windows результат выводится на кириллице, что обуславливает большую
информативность для людей не очень хорошо владеющих английским.
Рис. 36 Результат выполнения команды netstat –s в windows
netstat -i
Команда netstat -i выводит информацию о состоянии сетевых интерфейсов. Выполним данную
команду. Результат отображен на рисунке 37.
Рис. 37 Информация о состояние сетевых интерфейсов
Рассмотрим назначение столбцов выведенной таблицы:
Iface - имя интерфейса
MTU – максимальное число байтов в пакете
RX-OK – пакеты, принятые без ошибок
RX-ERR - пакеты, принятые с ошибками
RX-DRP – пропавшие пакеты
RX-OVR – ошибки из-за превышения скорости
TX-OK – пакеты, переданные без ошибок
TX-ERR – пакеты, переданные с ошибками
TX-DRP – пакеты, потерянные при передачи
TX-OVR – пакеты, которые не смогли передать
Flags – характеристики интерфейса: B – принимает широковещательные пакеты, L –
закольцовывающий интерфейс, M – изменяется динамически, R – интерфейс работает, U –
интерфейс активизирован
Количество ошибок должно составлять менее 1% от числа пакетов. Если частота появления
ошибок высока, нужно сравнить эти показатели на нескольких соседних компьютерах. Большое
число ошибок на одном компьютере свидетельствует о наличии проблемы в его интерфейсе или
соединении, тогда как высокая частота ошибок, возникающих на всех компьютерах, в большинстве
случаев обусловлена наличием проблемы в среде передачи.
Иногда бывает полезным контролировать работу сетевых интерфейсов, для этого можно с
определенным интервалом получать информацию о сетевых интерфейсах. Для этого применяют
команду netstat –i t , где t – время в секундах, через которое будет выводится новая информация об
интерфейсах.
Команды netstat с опцией –i в windows нет.
netstat -r
Команда netstat -r отображает таблицу маршрутизации ядра. Воспользуемся командой, чтобы
вывести таблицу маршрутизации (рис. 38).
Рис. 38 Результат выполнения команды netstat –r
В колонке Flags отображаются флаги, характеризующие маршрут: U (up) — активный, G (gateway)
— шлюз, H (host) — узловой (связан с конкретным адресом, а не сетью). Флаг D- обозначает
маршрут, полученный в результате переадресации по протоколу ICMP. Флаги G и H вместе
обозначают маршрут к компьютеру, проходящий через промежуточный шлюз. Остальные поля
содержат статистические данные о маршруте: текущее число TCP-соединений по этому маршруту,
количество отправленных пакетов и имя используемого интерфейса. Точный вид представленных
данных зависит от конкретной операционной системы.
 MSS (Maximum Segment Size) – определяет максимальный размер пакета для этого маршрута



Window – задает максимальное количество данных, которое система примет в одном пакете с
удаленного компьютера
irtt (initial round trip time) – задает значение, которое используется при установке
подключения; для большинства сетей подходит значение по умолчанию, но для некоторых
медленных сетей (особенно ряд типов пакетного радио) время слишком короткое, что
вызывает ненужные повторы
Iface – показывает, к какому сетевому интерфейсу относится маршрут
В windows результат данной команды (рис. 39) немного отличается, в нем присутствует меньше
вспомогательных столбцов(например, flags,mss). Также в windows выводится список интерфейсов.
Рис. 39 Результат команды netstat –r в windows
Изучить работу протокола ARP. Командой arp вывести кэш-таблицу протокола ARP и найти
MAC-адреса сетевых карт всех компьютеров в подсети.
ARP – протокол преобразования адресов – выполняет преобразование логических сетевых адресов
в аппаратные MAC-адреса. Ядро Linux содержит таблицу ARP, в которой находятся IP-адреса и
соответствующие им MAC-адреса. Эта таблица помогает обеспечить более быстрый доступ к
машинам, с которыми мы постоянно работаем (кэшируются MAC-адреса этих машин). Данные
добавляются в таблицу динамически, однако можно сделать таблицу статической и внести данные
самостоятельно.
Информация, пересылаемая от одного компьютера другому по сети, содержит в себе физический
адрес отправителя, IP-адрес отправителя, физический адрес получателя и IP-адрес получателя. ARPпротокол обеспечивает связь между этими двумя адресами. Существует четыре типа ARPсообщений: ARP-запрос (ARP request), ARP-ответ (ARP reply), RARP-запрос (RARP-request) и
RARP-ответ (RARP-reply). Локальный хост при помощи ARP-запроса запрашивает физический
адрес хоста-получателя. Ответ (физический адрес хоста-получателя) приходит в виде ARP-ответа.
Хост-получатель, вместе с ответом, шлёт также RARP-запрос, адресованный отправителю, для того,
чтобы проверить его IP-адрес. После проверки IP-адреса отправителя начинается передача пакетов
данных.
Протокол RARP (Обратный протокол преобразования адресов) - протокол третьего (сетевого)
уровня модели OSI, выполняет обратное отображение адресов, то есть преобразует аппаратный адрес
в IP-адрес.
Протокол применяется во время загрузки узла, когда он посылает групповое сообщение-запрос со
своим физическим адресом. Сервер принимает это сообщение и просматривает свои таблицы (либо
перенаправляет запрос куда-либо ещё) в поисках соответствующего физическому, IP-адреса. После
обнаружения найденный адрес отсылается обратно на запросивший его узел. Другие станции также
могут «слышать» этот диалог и локально сохранить эту информацию в своих ARP-таблицах.
RARP позволяет разделять IP-адреса между не часто используемыми хост-узлами. После
использования каким либо узлом IP-адреса он может быть освобождён и выдан другому узлу.RARP
является дополнением к ARP, и описан в RFC 903.
В некоторых случаях бывает полезно просмотреть или изменить содержание ARP-таблицы,
например, когда есть подозрения, что двойной адрес является причиной сетевой неустойчивости.
Утилита arp была сделана для исправления подобных вещей
Воспользуемся утилитой arp, чтобы вывести кэш-таблицу протокола arp, по которой найдем MACадреса всех сетевых карт всех компьютеров в подсети. Изначально таблица arp у нас пустая, чтобы
она заполнилась динамическими записями пропингуем все узлы. После того, как мы пропинговали
все узлы в каждой сети, прописываем команду arp и выводим на экран содержимое кэш-таблицы
arp.
Кэш-таблица arp для первой сети:
[root@5426-3]# arp
Address
192.168.15.1
5426-3
5426-1
5426-4
HWtype
ether
ether
ether
ether
HWaddress
F8:66:F2:1D:T9:20
00:21:85:18:08:BD
00:21:85:18:45:3A
00:21:85:18:32:8F
Flags Mask Iface
C
eth1
C
eth1
C
eth1
C
eth1
Кэш-таблица arp для первой сети:
[root@5426-6]# arp
Address
192.168.15.1
5426-7
5426-8
5426-5
5426-4
5426-9
HWtype
ether
ether
ether
ether
ether
ether
HWaddress
F8:66:F2:1D:T9:20
00:21:85:18:06:D6
00:21:85:18:07:AC
00:21:85:18:54:5С
00:21:85:18:59:3Е
00:21:85:18:58:8F
Flags Mask Iface
C
eth1
C
eth1
C
eth1
C
eth1
C
eth2
C
eth1
В качестве примера работы утилиты добавим статическую запись в кэш-таблицы arp. Для этого
пропишем следующее:
arp -s 192.168.26.111 FF:12:23:AC:32:11
Чтобы вывести arp-запись для хоста пропишем следующее: arp 192.168.26.111 (рис. 40)
Рис. 40 Вывод arp-записи для конкретного хоста
флаги: C - строка заполнена, M - постоянное значение.
Формат вывода кэш-таблицы arp в windows (рис. 41) незначительно отличается от результата в linux.
Рис. 41 Вывод кэш-таблицы arp в windows
В файловой системе /proc/net/ найти текущую информацию о сетевой подсистеме ядра.
Файловая система /proc — это специальная ФС, присутствующая во многих современных UNIXсистемах и содержащая массу полезной информации в текстовом виде, хотя и не всегда понятном
рядовым пользователям. Важно помнить, что эта ФС не является физической и файлы,
расположенные на ней, не совсем файлы в традиционном понимании. Вернее было бы называть их
псевдофайлами, поскольку существуют они только в оперативной памяти компьютера и не хранятся
на диске.
/proc/net
В этом каталоге хранится информация, касающаяся работы сетевых устройств и протоколов.
/proc/net/arp
содержит ARP-таблицу;
/proc/net/rarp
Данный файл использует тот же формат, что и файл arp и содержит текущую обратную базу данных
адресов ARP, используемую при работе служб обратного поиска адресов rarp. Если поддержки
RARP нет в ядре, то этот файл не существует.
/proc/net/dev
Псевдо−файл dev содержит информацию о состоянии сетевых устройств. Она представляет собой
количество принятых и отправленных пакетов, количество ошибок и коллизий и другую базовую
статистику. Эта информация используется программой ifconfig для вывода отчёта о состоянии
устройства. Формат информации: /proc/net/route содержит таблицу маршрутизации в
шестнадцатиричном виде;
/proc/net/wireless
хранит статистические данные о работе беспроводных интерфейсов.
/proc/net/raw
Содержит дамп таблицы беспротокольных (RAW) сокетов. Большая часть этой информации не
используется ни для чего, кроме отладки. Значение «s»" — это хешируемый слот ядра для сокета,
«local_address» — это пара локальный адрес, номер протокола. «St» — это внутреннее состояние
сокета. «tx_queue» и «rx_queue» — это исходящая и входящая очереди данных в том, виде в каком
они используются в памяти ядра. Поля «tr», «tm−>when» и «rexmits» не используются в RAW. Поле
«uid» содержит эффективный UID создателя сокета.
/proc/net/snmp
Этот файл содержит ASCII данные, необходимые SNMP−агенту для баз управляющей информации
IP, ICMP, TCP и UDP.
/proc/net/tcp
Содержит дамп таблицы TCP−сокетов. Большая часть этой информации не используется ни для чего,
кроме отладки. Значение "sl" — это хешируемый слот ядра для сокета, "local_address" — это пара
локальный адрес и номер порта. "rem_address" — это пара удалённого локального адреса и номера
порта. "St" — это внутреннее состояние сокета. "tx_queue" и "rx_queue" — это исходящая и входящая
очереди данных в том, виде в каком они используются в памяти ядра. Поля "tr", "tm−>when" и
"rexmits" содержат внутреннюю информацию ядра о состоянии сокета и полезны только для отладки.
Поле "uid" содержит эффективный UID создателя сокета.
/proc/net/udp
Содержит дамп таблицы UDP−сокетов. Большая часть этой информации не используется ни для
чего, кроме отладки. Значение "sl" — это хешируемый слот ядра для сокета, "local_address" — это
пара локальный адрес и номер порта. "rem_address" — это пара удалённого локального адреса и
номера порта. "St" — это внутреннее состояние сокета. "tx_queue" и "rx_queue" — это исходящая и
входящая очереди данных в том, виде в каком они используются в памяти ядра. Поля "tr",
"tm−>when" и "rexmits" не используются в UDP. Поле "uid" содержит эффективный UID создателя
сокета. Формат:
Download