Интегрированные сети ISDN

         

Опции программы dig



Таблица 5.3 Опции программы dig



Тип запроса

Запись DNS-сервера

a

Адресная запись

any

Любой тип записи

axfr

Все записи, относящиеся к зоне

hinfo

Записи, характеризующие ЭВМ

mx

Записи, определяющие почтовый обмен

ns

Записи сервера имен

soa

Начало записей для зоны ответственности DNS-сервера

txt

Текстовые записи

Ниже приведен пример использования команды dig для сервера имен узла DESY (Гамбург):

dig @vxdesy.desy.de ns

; <<>> DiG 2.0 <<>> @vxdesy.desy.de ns

; (3 servers found)

;; res options: init recurs defnam dnsrch

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10

;; flags: qr rd ra; Ques: 1, Ans: 9, Auth: 9, Addit: 9

;; QUESTIONS:

;;., type = NS, class = IN

;; ANSWERS:

. 185470 NS A.ROOT-SERVERS.NET.
. 185470 NS H.ROOT-SERVERS.NET.
. 185470 NS B.ROOT-SERVERS.NET.
. 185470 NS C.ROOT-SERVERS.NET.
. 185470 NS D.ROOT-SERVERS.NET.
. 185470 NS E.ROOT-SERVERS.NET.
. 185470 NS I.ROOT-SERVERS.NET.
. 185470 NS F.ROOT-SERVERS.NET.
. 185470 NS G.ROOT-SERVERS.NET.

;; AUTHORITY RECORDS:

. 185470 NS A.ROOT-SERVERS.NET.
. 185470 NS H.ROOT-SERVERS.NET.
. 185470 NS B.ROOT-SERVERS.NET.
. 185470 NS C.ROOT-SERVERS.NET.
. 185470 NS D.ROOT-SERVERS.NET.
. 185470 NS E.ROOT-SERVERS.NET.
. 185470 NS I.ROOT-SERVERS.NET.
. 185470 NS F.ROOT-SERVERS.NET.
. 185470 NS G.ROOT-SERVERS.NET.

;; ADDITIONAL RECORDS:

A.ROOT-SERVERS.NET. 531366 A 198.41.0.4
H.ROOT-SERVERS.NET 531366 A 128.63.2.53
B.ROOT-SERVERS.NET. 531366 A 128.9.0.107
C.ROOT-SERVERS.NET. 578733 A 192.33.4.12
D.ROOT-SERVERS.NET. 578733 A 128.8.10.90
E.ROOT-SERVERS.NET. 547664 A 192.203.230.10
I.ROOT-SERVERS.NET. 578733 A 192.36.148.17
F.ROOT-SERVERS.NET. 531366 A 192.5.5.241
G.ROOT-SERVERS.NET. 531366 A 192.112.36.4

;; FROM: ns.itep.ru to SERVER: vxdesy.desy.de 131.169.30.46

;; WHEN: Thu Jul 25 12:07:54 1996

;; MSG SIZE sent: 17 rcvd: 429


Программа ifconfig служит для контроля состояния сетевых интерфейсов, их конфигурирования и проверки. С помощью этой команды интерфейсу присваивается IP-адрес, субсетевая маска и широковещательный адрес. Примером использования ifconfig для получения информации об интерфейсе может служить:

ifconfig le0

le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>

inet 193.124.224.35 netmask ffffffe0 broadcast 193.124.224.32
Флаг UP означает, что интерфейс готов к использованию, DOWN указывает на необходимость перевода интерфейса в состояние UP с помощью команды ifconfig le0 up. Если эта команда не проходит, следует проверить соединительный кабель или сам интерфейс. Флаг RUNNING говорит о том, что интерфейс работает. При отсутствии этого флага следует проверить правильность инсталляции. Флаг BROADCAST указывает на то, что интерфейс поддерживает широковещательный режим адресации (MULTICAST - допускает многоадресное обращение). Флаг NOTRAILERS - показывает, что интерфейс не поддерживает trailer-инкапсуляцию (Ethernet). Вторая строка отклика на команду начинается с ключевого слова inet (Интернет) и содержит IP-адрес, маску субсети и широковещательный адрес. На ошибку в задании маски субсети указывает факт доступности удаленных ЭВМ и машин локальной субсети при недоступности ЭВМ соседних субсетей. При неверном задании IP-адреса возможны самые разные ошибки. При неверной сетевой части адреса команда Ping будет вызывать ошибку типа “no answer”. Ошибка же в части адреса, характеризующей ЭВМ, может быть не замечена в течение длительного времени, если носителем ошибочного адреса является персональная ЭВМ, обращений к которой извне не происходит. Определенное время можно использовать и чужой IP-адрес. Такого рода ошибки не могут быть выявлены с помощью ifconfig, здесь хорошую службу может оказать программа arp (см. описание протокола в RFC-826). Эта программа позволяет анализировать преобразование IP-адресов в физические (Ethernet). Она имеет несколько полезных опций (возможны вариации для разных реализаций и ОС):



-a отображает содержимое всей ARP-таблицы
-d <имя ЭВМ> удаляет запись из ARP-таблицы
-s <имя ЭВМ> <Ethernet-адрес> добавляет новую запись в таблицу

Ниже приведен пример исполнения команды arp, которая печатает имя объекта, его IP- и физический адреса (следует иметь в виду, что содержимое ARP-таблиц изменяется со временем, время хранения записи задается администратором сети):

arp -a


itepgw.itep.ru (193.124.224.33) at 0:0:c:2:3a:49
ITEP-FDDI-BBone.ITEP.RU (193.124.224.50) at 0:0:c:2:fb:c5
RosNET-Gw.ITEP.Ru (193.124.224.37) at 0:c0:14:10:1:cd
nb.itep.ru (193.124.224.60) at 0:80:ad:2:24:b7

Указанием на наличие ошибки в ARP-таблице может служить сообщение о недоступности или неизвестности ЭВМ при выполнении команд типа FTP или telnet. Такие сообщения возможны, например, при использовании одного и того же IP-адреса двумя ЭВМ. Все зависит от того, какая из машин успела “прописаться” в ARP-таблице раньше. Просматривая таблицу, администратор может заметить, что одному и тому же IP-адресу временами соответствуют разные физические адреса. Легальность адреса может быть проверена с помощью содержимого файла /etc/ethers. Первые три байта физического адреса характеризуют производителя интерфейса (см. Assigned Numbers, RFC-1700), что может помочь найти “IP-двойника”. Если анализ ARP-таблицы не помог, попробуйте войти в ЭВМ, соответствующую подозрительному адресу, с помощью команды telnet. Если ЭВМ допускает удаленный доступ, характер входного сообщения поможет разобраться, что это за машина.
Одной из наиболее информативных команд является netstat (за исчерпывающим описанием опций и методов применения отсылаю к документации на ваше сетевое программное обеспечение). Эта команда может вам дать информацию о состоянии интерфейсов на ЭВМ, где она исполнена:

netstat -i


Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue
le0 1500 193.124.224.32 ns 966204 0 584033 0 846 0
lo0 1536 127.0.0.0 127.0.0.1 4191 0 4191 0 0 0
<


Name - имя интерфейса, если в этом поле стоит *, это означает, что интерфейс в состоянии down; Net/Dest - показывает IP- адрес сети или ЭВМ, куда интерфейс осуществляет доступ; Address - IP-адрес интерфейса; Ipkt - число принятых пакетов; Ierr - число ошибок при приеме пакетов; Opkts - число отправленных пакетов через данный интерфейс, Oerrs - число ошибок при отправке; Collis - число столкновений в сегменте Ethernet, зафиксированных интерфейсом; Queue - длина очереди пакетов, ждущих отправки. Программа nrtstat позволяет ознакомиться и с маршрутной таблицей:

netstat -nr

Маршрутная таблица

Место назначения Маршрутизатор Флаги Refcnt Use Интерфейс
192.148.166.185 193.124.224.33 UGHD 0 0 le0
192.148.166.161 193.124.224.33 UGHD 0 0 le0
192.148.166.97 193.124.224.33 UGHD 0 0 le0
192.148.166.177 193.124.224.33 UGHD 0 0 le0
192.148.166.129 193.124.224.33 UGHD 1 192 le0
192.148.166.145 193.124.224.33 UGHD 0 72 le0
192.148.166.170 193.124.224.33 UGHD 0 4 le0
192.148.166.26 193.124.224.60 UGHD 0 19 le0
192.148.166.131 193.124.224.33 UGHD 0 0 le0
192.148.166.140 193.124.224.33 UGHD 0 0 le0
192.148.166.173 193.124.224.33 UGHD 0 2 le0
192.148.166.182 193.124.224.33 UGHD 0 20 le0
192.148.166.142 193.124.224.33 UGHD 0 300 le0

Колонка место назначения указывает на конечную точку маршрута, колонка маршрутизатор - имя маршрутизатора, через который достижим адресат. Флаг "U" (Up) свидетельствует о том, что канал в рабочем состоянии. Флаг "G" указывает на то, что маршрут проходит через маршрутизатор (gateway). При этом вторая колонка таблицы содержит имя этого маршрутизатора или его адрес. Если флаг "G" отсутствует, ЭВМ непосредственно связана с указанной сетью. Флаг "D" указывает на то, что маршрут был добавлен динамически. Если маршрут связан только с конкретной ЭВМ, а не с сетью, он помечается флагом "H" (host), при этом первая колонка таблицы содержит его IP-адрес.


Флаг “M” указывает на то, что маршрут был изменен с помощью сообщения о переадресации. Флаг <null> говорит о том, что адресат достижим непосредственно.
Возможности netstat не ограничиваются локальной сетью или автономной системой, с помощью ее можно получить некоторую информацию об удаленных ЭВМ или маршрутизаторах. Например:

netstat -r 194.85.112.34


input packets (le0) errs output packets errs colls input packets Total errs Output packets errs colls
7636610 0 4578719 0 5918 7674851 0 4616960 0 5918

Это может быть полезно при экспресс диагностике внешних каналов связи, когда простого ping или traceroute оказалось недостаточно. Если возникло подозрение относительно маршрутизации пакетов, можно сначала проверить работает ли программа gated, для этого выдайте команду:
ps ‘cat /etc/gated.pid’

после чего обратитесь к системному администратору :-).
Если нужно получить информацию о смонтированных файловых системах, вы можете воспользоваться командой:

showmount -e ns (ns - имя ЭВМ)

export list for ns.itep.ru:

/u1/SunITEP saturn.itep.ru,suncom.itep.ru
Крайне полезна для контроля конфигурации системы команда host, она имеет много опций и с ее помощью можно узнать о доступных типах услуг, об именах и IP-адресах почтовых серверов и серверов имен, о кодах их предпочтения и т.д..

host -a vitep5

Trying domain "itep.ru"

rcode = 3 (Non-existent domain), ancount=0

Trying null domain

rcode = 0 (Success), ancount=6

vitep5.itep.ru 86400 IN WKS 192.148.166.198 tcp ftp telnet  
vitep5.itep.ru 86400 IN HINFO VAX-8530 VMS 5.3
vitep5.itep.ru 86400 IN MX 15 mx.itep.ru
vitep5.itep.ru 86400 IN MX 200 relay1.kiae.su
vitep5.itep.ru 86400 IN MX 210 relay2.kiae.su
vitep5.itep.ru 86400 IN A 192.148.166.198  

Additional information:

relay1.kiae.su 18938 IN A 193.125.152.6
relay1.kiae.su 18938 IN A 193.125.152.1
relay2.kiae.su 18938 IN A 193.125.152.1

Во второй колонке данной выдачи указано время жизни пакетов (TTL) в секундах. Значение TTL в первых строках соответствует суткам (24x60x60=86400). IN в следующей колонке указывает на принадлежность к классу Интернет. В четвертой колонке проставлены указатели типов запроса. В пятой колонке идут названия серверов, IP-адреса ЭВМ и коды предпочтения (15, 200 и 210). Более подробно о возможностях этой команды можно ознакомиться в [11].
В последнее время появилось несколько комплексных (общедоступных) пакетов диагностики (NetWatch, WS_watch, SNMPMAN, Netguard и др.). Некоторые из этих пакетов позволяют построить графическую модель тестируемой сети, выделяя цветом или с помощью вариации картинок работающие ЭВМ. Программы, использующие протокол SNMP, проверяют наличие посредством специального запроса доступность SNMP-демона, с помощью ICMP-протокола определяют работоспособность ЭВМ, после чего отображают переменные и массивы данных из управляющей базы данных MIB (если эта база имеет уровень доступа public). Это может делаться автоматически или по запросу оператора. SNMP-протокол позволяет мониторировать вариации загрузки отдельных сегментов сети пакетами UDP, TCP, ICMP и т.д., регистрируя количество ошибок по каждому из активных интерфейсов. Для решения этой задачи можно использовать соответствующую программу, которая регулярно опрашивает MIB интересующих вас ЭВМ, а полученные числа заносятся в соответствующий банк данных. При возникновении нештатной ситуации администратор сети может просмотреть вариации потоков в сегментах сети и выявить время и причину сбоя в системе. Аналогичные данные можно получить с помощью программы, переводящей интерфейс Ethernet в режим приема всех пакетов (mode=6). Такая программа допускает получение данных по всем типам пакетов, циркулирующих в данном кабельном сегменте. Введя в программу определенные фильтры (отбор по IP-адресам отправителей, получателей, по широковещательным запросам или определенным протоколам) можно узнать много полезного о своей сети. К сожалению, этот метод пригоден только в отношении логического сегмента, к которому подключена ваша ЭВМ. Такие программы могут использоваться для контроля сетевых ресурсов, если ЭВМ размещена на соответствующем сегменте, что может оказаться актуально в связи с коммерциализацией сетевых услуг. По этой причине метод диагностики через SNMP-резидентов более универсален. Упомянутые в начале программы Tcpdump и Etherfind крайне полезны для отладки программ, работающих с сетевыми пакетами. Они позволяют отображать все входящие и посылаемые пакеты. Следует иметь в виду, что эти программы потенциально опасны с точки зрения несанкционированного доступа и, поэтому их применение часто возможно только для привилегированных пользователей. Работа интерфейса в режиме перехвата всех пакетов также представляет угрозу безопасности сети (возможность получения чужих паролей). С учетом этого обстоятельства должно приветствоваться использование программного обеспечения, где содержимое пакетов терминального обмена подвергается шифрованию-дешифрованию.
Определенный интерес может представлять диагностическая программа ttcp, которая позволяет измерять некоторые характеристики TCP- или UDP-обменов между двумя узлами (ftp.sgi.com, каталог sgi/src/ttcp или vgr.brl.mil ftp/pub/ttcp.c).
Перечисленные режимы работают в рамках протокола TCP, для исследования процессов, требующих UDP, следует использовать опцию -u. Существует множество других опций, обеспечивающих реализацию самых разнообразных режимов работы (см. [10] и справочные руководства на вашей ЭВМ).
Конфигурация сети и режимы ее работы определяются системными переменными, которые задаются администратором сети. Имена этих сетевых переменных для разных ЭВМ и программных пакетов варьируются. Ниже будут перечислены основные переменные, определяющие работу TCP/IP протоколов для SunOS 4.1.3.

IPFORWARDING - значение этой константы инициализирует системную переменную ip_forwarding. Если она равна -1, IP-дейтограммы никогда не переадресуются, а переменная уже никогда не меняется. Если же она равна 0 (значение по умолчанию), IP-дейтограммы не переадресуются. Переменная принимает значение 1, когда доступны несколько интерфейсов. При значении константы, равном 1, переадресация всегда разрешена.

SUBNETSARELOCAL - константа, определяющая начальное значение переменной ip_subnetsarelocal. Если она равна 1 (по умолчанию), то IP-адрес места назначения с идентификатором сети, идентичным с тем, что имеет ЭВМ- отправитель, считается локальным вне зависимости от идентификатора субсети. Если константа равна нулю, то локальным будет считаться только адрес, принадлежащий данной субсети (при совпадении идентификаторов сети и субсети).

IPSENDREDIRECTS - константа, используемая для определения стартового значения переменной ip_sendredirects. Если константа равна 1, (по умолчанию) ЭВМ при выполнении процедуры forward посылает ICMP-сообщения о переадресации. При равенстве нулю ICMP-сообщения не посылаются.

DIRECTED_BROADCAST - константа, определяющая начальное значение переменной ip_dirbroadcast. Если константа равна 1 (по умолчанию), получаемые дейтограммы, адрес места назначения которых является широковещательным адресом интерфейса, переадресуются на канальный широковещательный уровень. При равенстве нулю такие дейтограммы ничтожаются.
Ряд системных переменных содержится в файле in_proto каталога /usr/kvm/sys/netinet. При изменении этих переменных система должна быть перезагружена.

tcp_default_mss значение MSS протокола TCP для нелокальных адресатов, по умолчанию равна 512.

tcp_keepidle определяет число 500 мс тактов между посылками запросов о работоспособности. По умолчанию равна 14400 (2 час.).

tcp_keepintvl определяет число 500 мс тактов между посылками запросов о работоспособности, когда не получено никакого отклика. По умолчанию эта переменная равна 150 (75сек).

tcp_keeplen используется для обеспечения совместимости с ранними версиями (4.2BSD), должна равняться 1.

tcp_nodelack при неравенстве нулю требует отправки немедленного отклика (ACK), по умолчанию равна нулю.

tcp_recvspace определяет размер входного TCP-буфера и влияет на величину окна. По умолчанию эта переменная равна 4096.

tcp_sendspace определяет размер выходного TCP-буфера, по умолчанию равна 4096.

tcp_ttl задает значение поля TTL в TCP-сегменте, по умолчанию имеет значение 60.

udp_cksum при неравенстве нулю требует вычисления контрольной суммы для отправляемых UDP-дейтограмм и проверки контрольных сумм для получаемых UDP-дейтограмм, если поле контрольной суммы не равно нулю. По умолчанию переменная равна нулю.

udp_recvspace определяет размер входного UDP-буфера, по умолчанию равна 18000, что соответствует двум 9000-байтным дейтограммам.

udp_sendspace задает объем выходного UDP-буфера, ограничивая предельную длину посылаемой дейтограммы. По умолчанию переменная равна 9000.

udp_ttl определяет значение поля TTL для UDP-дейтограмм, значение по умолчанию - 60.
Для изменения значений этих переменных необходимо иметь системные привилегии.
Содержание раздела