1 Утилиты командной строки и некоторые применяемые для анализа работы сети системные средства, Утилиты запускаются из командной строки: Пуск -> Выполнить -> "cmd" -> "Ok" Некоторые утилиты в разных вариантах операционных систем могут отсутствовать. подобных ОС они присутствуют в полном объеме. В UNIX- Полный набор средств для диагностики TCP/IP PING. Проверяет связь с IP-хостом. TRACERT (Traceroute). Отображает адреса всех маршрутизаторов на пути от клиента до удаленного хоста. NSLOOKUP. Сетевая утилита Windows NT. IPCONFIG. Отображает текущую конфигурацию сети TCP/IP. NETSTAT. Отображает статистику и текущие соединения по протоколу TCP/IP. ROUTE. Позволяет конфигурировать сетевые маршрутные таблицы. ARP (Address Resolution Protocol) - протокол преобразования адресов. Отображает IP-адреса в адреса Ethernet. FTP (File Transfer Protocol) - протокол передачи файлов. Позволяет выводить список файлов, осуществлять передачу файлов, а также управлять каталогами на удаленной системе. Утилита PING Используется для проверки соединенияnslookup с удаленным хостом. Действует посредством посылки IMCP-пакетов и ожидания ответа в течение 1 секунды (значение по умолчанию). Посылается 4 одинаковых пакета (значение по умолчанию). На экран выводится время в миллисекундах, затраченоое на ожидание отклика. Формат команды: ping [-n значение1][-w значение2][-t] IP-address или DNS-имя удаленного хоста Где: значение -n - число посылаемых на удаленный хост пакетов (значение по умолчанию -4), значение -w - время ожидания отклика в миллисекундах (значение по умолчанию -1000) -t - установка утилиты ping в непрерывный режим действия. C:\WINDOWS>ping -n 10 www.netscape.com Обмен пакетами с www-va.netscape.com [205.188.247.65] по 32 байт: Ответ от 205.188.247.65: число байт=32 время=194мс TTL=48 Ответ от 205.188.247.65: число байт=32 время=240мс TTL=48 Ответ от 205.188.247.65: число байт=32 время=173мс TTL=48 Ответ от 205.188.247.65: число байт=32 время=250мс TTL=48 2 Статистика Ping для 205.188.247.65: Пакетов: послано = 10, получено = 10, потеряно = 0 (0% потерь), Приблизительное время передачи и приема: наименьшее = 173мс, наибольшее = 406мс, среднее = 236мс C:\WINDOWS> В поле time указывается, за какое время (в миллисекундах) посланный пакет доходит до удаленного хоста и возвращается на ваш хост. Так как значение по умолчанию для ожидания отклика от удаленного хоста равно 1 секунде, то все значения данного поля будут меньше 1000 миллисекунд. Если Вы получаете сообщение "Request time out", то, возможно, если вы увеличите время ожидания отклика, пакет дойдет до удаленного хоста. Вы можете увеличить время ожидания с помощью ключа -w: Пример. C:\>ping -w 10000 bash.ac.ru Ключ -n используется для указания числа посылаемых пакетов. Если связь между хостами плохая, будет видно, сколько пакетов было потеряно. К сожалению, хосты некоторых организаций не принимают IMCP пакеты (которые используются утилитами, подобными ping) с помощью маршрутизаторов и брэндмауэров. Например, ftp.microsoft.com не пингуется, хотя зайти на этот сервер не составляет труда. Так как некоторые вирусы атакуют удаленные хосты с помощью ping, возможно, именно по этой причине блокируется получение ping-пакетов. PATHPING Команда PATHPING аналогична TRACERT, однако она более информативна, а потому требует больше времени для исполнения. Она анализирует маршрут пакетов данных и определяет, на каких промежуточных узлах произошла потеря. Пример использования: 3 Утилита TRACERT Утилита tracert используется для отслеживания маршрута пакета, посланного текущим хостом удаленному. Она может показаться более удобной и содержательной, чем ping, особенно в тех случаях, когда удаленный хост недостижим. Вы сможете определить район проблем со связью (у вашего Интернет-провайдера, в опорной сети либо в сети удаленного хоста) по тому, насколько далеко будет отслежен маршрут. Если вы увидете строку со зведочками (*) либо с сообщениями типа "Destination net unreachable" , "Destination host unreachable" или "Request time out", возможно, вы обнаружили район проблем со связью. Формат команды: tracert [-d][-h количество ретрансляций][-j список_систем][-w тайм-аут] IP-address или DNS-имя удаленного хоста. Утилита tracert срабатывает следующим образом: посылается по 3 пробных пакета на каждый хост, через который проходит маршрут до удаленного хоста. Утилита tracert использует параметр time-to-live (TTL) для ограничения количества пройденных маршрутизаторов. TTL -это количество "скачков" или последовательных хостов, через которые разрешается пройти пакету. Стартуя со значения равного 1, TTL возрастает до тех пор пока, либо пакет не достигнет удаленного хоста либо не будет достигнуто максимальное значение "скачков" (30 по умолчанию). C:\>tracert -d -h 16 ftp.microsoft.com Tracing route to ftp.microsoft.com [198.105.232.1] over amaximum of 16 hops: 1 <10 ms 10 ms <10 ms 141.225.1.1 2 <10 ms 20 ms <10 ms 198.146.21.157 3 30 ms 30 ms 20 ms 198.146.21.5 4 30 ms 20 ms 20 ms 206.23.252.6 5 50 ms 40 ms 30 ms 144.228.85.61 6 50 ms 30 ms 50 ms 144.228.80.1 7 50 ms 50 ms 50 ms 144.232.8.98 8 50 ms 51 ms 40 ms 144.232.1.150 9 90 ms 120 ms 130 ms 144.232.8.54 10 * 90 ms * 144.228.249.5 11 100 ms 110 ms 101 ms 144.228.95.10 12 110 ms 100 ms 90 ms 207.68.145.59 13 100 ms 90 ms 100 ms 207.68.129.34 14 121 ms 130 ms 140 ms 131.107.34.133 15 * * * Request timed out. 16 * * * Request timed out. Trace complete. Параметр -d используется для отключения режима определения dns-имен хостов по IP-адресам для удобства чтения информации с экрана. Возможно, вы не захотите использовать этот параметр, так как dns-имена хостов на маршруте от вашего хоста до удаленного позволяют вам понять, где физически эти хосты расположены. 4 В этом примере использован ключ -h со значением 16 с целью избежать множество надоедающих сообщений типа "Request timed out". Значение по умолчанию - 30, оно вполне приемлемо, и, если трассировка прошла успешно, то вы увидете всего несколько строчек, демонстрирующих маршрут. В этом примере вы видите, что на 10 скачке два из трех пакетов остались без отклика, возможно вследствие кратковременных сетевых проблем. Если обнаружена проблема на одном из участков маршрута, то можно связаться с администратором сети, которой принадлежит предыдущий участок маршрута, определив принадлежность сети по IP-адресу трассируемого хоста. В данном примере следует связаться с администратом сети, которой принадлежит IP-адрес 131.107.34.133 для того, чтобы он отследил проблему на следующем участке маршрута. Дальнейшее исследование проблемы с помощью утилиты nslookup (которая будет рассмотрена ниже) показывает, что сеть класса В 131.107.0.0 принадлежит компании microsoft.com. -j список_систем - свбодный выбор пути среди систем в указанном списке. -w тайм_аут-ожидать каждый ответ указанное число миллисекунд. имя_системы - имя системы, поиск пути к которой производится. Данную утилиту также можно использовать для определения скорости действия путей. При использовании утилит, работающих по ICMP следует иметь ввиду, что приоритет ICMP траффика в глобальных сетях самый низкий. Т.е. маршрутизатор пропустит ICMP пакет после того, как пропустит более приоритетный TCP или UDP траффик. Поэтому задержки пакетов не всегда будут отражать реальную скорость прохождения TCP траффика. Утилита NSLOOKUP Предоставляет сведения, предназначенные для диагностики инфраструктуры DNS. Для использования этого средства необходимо быть знакомым с принципами работы системы DNS. Средство командной строки Nslookup доступно, только если установлен протокол TCP/IP. Эта утилита поможет получить много информации, определить причину возникших проблем. В приведенном ниже примере эта утилита используется для определения DNS-серверов домена microsoft.com. C:\>nslookup -type=ns microsoft.com Server: msuvx1.memphis.edu Address: 141.225.1.2 Non-authoritative answer: MICROSOFT.COM nameserver = DNS3.NWNET.NET MICROSOFT.COM nameserver = DNS4.NWNET.NET MICROSOFT.COM nameserver = ATBD.MICROSOFT.COM MICROSOFT.COM nameserver = DNS1.MICROSOFT.COM DNS3.NWNET.NET internet address = 192.220.250.7 DNS4.NWNET.NET internet address = 192.220.251.7 ATBD.MICROSOFT.COM internet address = 131.107.1.7 DNS1.MICROSOFT.COM internet address = 131.107.1.7 DNS1.MICROSOFT.COM internet address = 131.107.1.240 5 В этом примере использован ключ -type=ns, так как был необходим лишь список nameсерверов. Теперь известно, где следует искать авторизованную информацию о домене microsoft.com. По IPадресам name-серверов становится понятно, что им принадлежит сеть 131.107.0.0 Следующий запрос следует направить на один из name-серверов. C:\>nslookup -type=any microsoft.com dns1.microsoft.com Server: dns2.microsoft.com Address: 131.107.1.240 microsoft.com internet address = 207.68.156.49 microsoft.com internet address = 207.68.137.56 microsoft.com internet address = 207.68.156.51 microsoft.com internet address = 207.68.156.52 microsoft.com internet address = 207.68.137.62 microsoft.com internet address = 207.68.156.53 microsoft.com internet address = 207.68.156.54 microsoft.com internet address = 207.68.137.59 microsoft.com internet address = 207.68.143.192 microsoft.com internet address = 207.68.143.193 microsoft.com internet address = 207.68.156.61 microsoft.com internet address = 207.68.156.16 microsoft.com internet address = 207.68.156.58 microsoft.com internet address = 207.68.156.73 microsoft.com internet address = 207.68.137.53 microsoft.com internet address = 207.68.137.65 microsoft.com nameserver = DNS3.NWNET.NET microsoft.com nameserver = DNS4.NWNET.NET microsoft.com nameserver = DNS1.microsoft.com microsoft.com primary name server = DNS1.microsoft.com responsible mail addr = msnhst.microsoft.com serial = 199712060 refresh = 7200 (2 hours) retry = 800 (30 mins) expire = 2592000 (30 days) default TTL = 86400 (1 day) microsoft.com MX preference = 10, mail exchanger = mail2.microsoft.com microsoft.com MX preference = 10, mail exchanger = mail3.microsoft.com microsoft.com MX preference = 10, mail exchanger = mail4.microsoft.com microsoft.com MX preference = 10, mail exchanger = mail1.microsoft.com microsoft.com MX preference = 10, mail exchanger = mail5.microsoft.com Указав ключ -type=any, можно получить полную информацию об интересующем Вас домене. Теперь вы знаете, что, посылая письмо на любой адрес *@microsoft.com, вы посылаете его на один из почтовых серверов, перечисленных выше. И, если у вас проблемы с посылкой почты на этот адрес, то теперь вы знаете, что следует проверить с помощью утилит ping или tracert коннективность почтового сервера. Теперь вы также знаете, что первичный DNS-сервер для домена microsoft.com - dns1.microsoft.com, что компания microsoft владеет несколькими сетями 207.68.*.0, и, что с доменным именем microsoft.com ассоциируется множество IP-адресов. Так как nslookup дает для www.microsoft.com схожий список, можно предположить, что это веб-сервера компании microsoft. Также можно предположить, что 207.68.*.* IP-адреса из сеток 6 207.68.*.* , увиденные вами в предыдущем примере трассировки, принадлежат Интернет провайдеру компании microsoft. Эта информация может быть полезна для тех, кто не может связаться с их веб-сервером. Синтаксис nslookup [-подкоманда ...] [{искомый_компьютер| [ -сервер]}] Параметры -подкоманда ... Задает одну или несколько подкоманд nslookup как параметры командной строки. Список подкоманд смотрите ниже. искомый_компьютер Ищет данные для параметра искомый_компьютер, используя текущий, заданный по умолчанию сервер имен DNS, если никакого другого сервера не указано. Чтобы получить сведения о компьютере не из текущего домена DNS, в конец имени должна быть добавлена точка. -сервер Указывает, что данный сервер следует использовать в качестве сервера имен DNS. Если параметр -сервер не указан, используется сервер DNS, заданный по умолчанию. {help|?} Выводит краткое описание подкоманд nslookup. Nslookup: exit Nslookup: finger Nslookup: help Nslookup: ls Nslookup: lserver Nslookup: root Nslookup: server Nslookup: set Nslookup: set all Nslookup: set class Nslookup: set d2 Nslookup: set debug Nslookup: set defname Nslookup: set domain Nslookup: set ignore Nslookup: set port Nslookup: set querytype Nslookup: set recurse Nslookup: set retry Nslookup: set root Nslookup: set search Nslookup: set srchlist Nslookup: set timeout Nslookup: set type Nslookup: set vc Nslookup: view Замечания Если искомый_компьютер задан IP-адресом, а запрашивается запись ресурса типа A или PTR, будет выведено имя компьютера. Если искомый_компьютер задан именем без замыкающей точки, имя домена DSN, используемого по умолчанию, будет добавлено к указанному имени. 7 Поведение зависит от состояния следующих подкоманд команды set: domain, srchlist, defname и search. Если в командной строке введен дефис (-) вместо параметра искомый_компьютер, команда nslookup перейдет в интерактивный режим. Длина строки вызова команды не может превышать 256 символов. Команда nslookup может работать в двух режимах: интерактивном и обычном (автономном). Если требуется вывод только небольшой части информации, следует использовать обычный режим. В качестве первого параметра следует использовать имя или IPадрес компьютера, о котором требуется получить данные. В качестве второго параметра введите имя или IP-адрес сервера имен DNS. Если второй параметр не задан, командой nslookup используется сервер имен DNS, установленный по умолчанию. Если требуется получить более полные сведения, следует использовать интерактивный режим. В качестве первого параметра следует ввести знак дефиса (-) и имя или IP-адрес сервера имен DNS в качестве второго параметра. Если оба параметра не заданы, командой nslookup используется сервер имен DNS, установленный по умолчанию. Далее перечислено несколько советов по работе в интерактивном режиме. Для прерывания интерактивной команды в любой момент следует нажать CTRL+B. Для выхода необходимо ввести exit. Для ввода имени компьютера, совпадающего с какой-либо командой, перед именем следует ввести обратную косую черту (\). o Нераспознанные команды воспринимаются как имена компьютеров. Если при обработке запроса возникла ошибка, командой nslookup на экран будет выведено сообщение. В следующей таблице перечислены возможные сообщения об ошибках. o o o Сообщение об ошибке Timed out Описание Сервер не ответил на запрос в течение определенного времени и после определенного числа повторных попыток. Имеется возможность установить период ожидания с помощью подкоманды set timeout. Имеется возможность установить число повторных попыток с помощью подкоманды set retry. No response from server Сервер имен DNS не запущен на сервере No records Сервер имен DNS не содержит записей о ресурсах указанного типа, хотя имя сервера задано верно. Тип запроса задается командой set querytype. Nonexistent domain Заданный компьютер или имя домена DNS не существует. Connection refused Невозможно подключиться к серверу имен DNS или к серверу службы finger. Эта ошибка обычно возникает с запросами команд ls и finger. -илиNetwork is unreachable Server failure Сервер имен DNS обнаружил внутреннее несоответствие в своей базе данных и не может корректно ответить на запрос. Refused Отказано в обработке запроса сервером имен DNS. Format error Сервер DNS обнаружил ошибку в формате полученного пакета. Это может свидетельствовать об ошибке в команде nslookup. 8 Примеры Каждый параметр состоит из дефиса (-) и следующей за ним без пробелов команды, а также, в некоторых случаях, знака равенства (=) и значения. Например, чтобы изменить установленный по умолчанию тип запроса о сведениях для узла и установить начальное время ожидания равным 10 секундам, следует ввести команду: nslookup -querytype=hinfo -timeout=10 Получить сведения о почтовых серверах: nslookup -type=MX yandex.ru nslookup -type=MX celitel.info 8.8.8.8 nslookup -type=mx wikipedia.org ns2.wikimedia.org При необходимости получить сведения о нескольких доменных именах можно воспользоваться интерактивным режимом. Водите nslookup - 8.8.8.8 или nslookup - Во втором случае первичным DNS сервером будет тот, который указан у вас в сетевых настройках. Далее вводите имена серверов по одному. Для завершение работы с командой введите exit. Утилита IPCONFIG По умолчанию данная утилита выводит только IP-адрес, маску подсетии шлюз по умолчанию для данного сетевого адаптера. C:\WINDOWS>ipconfig Настройка IP для Windows 0 Ethernet: плата : IP-адрес. . . . . . . . . . . . . . : 128.1.158.62 Маска подсети . . . . . . . . . . . : 255.255.0.0 Стандартный шлюз. . . . . . . . . . : 128.1.100.5 1 Ethernet: плата : IP-адрес. . . . . . . . . . . . . . : 0.0.0.0 Маска подсети . . . . . . . . . . . : 0.0.0.0 Стандартный шлюз. . . . . . . . . . : C:\WINDOWS> 9 Для более подробной информации используйте ключ /ALL. Этот ключ позволяет для каждого сетевого интерфейса, помимо информации по умолчанию, получить имя узла, адреса серверов DNS, тип запроса NetBIOS, используется ли для данного сетевого интерфейса DHCP, а также аппаратный адрес интерфейса. IPCONFIG может использоваться для того, чтобы вручную продлить или прекратить DHCPаренду. Команда IPCONFIG /RENEW указывает системе провести попытку продления аренды. Эта команда особенно удобна в случае, если сервер должен быть остановлен на некоторое время. Как правило, клиент не прекращает аренду автоматически по завершении работы. Утилита IPCONFIG позволяет завершить DHCP-аренду при помощи ключа /RELEASE. Эта команда часто используется перед перемещением компьютера в другую сеть. После использования команды IPCONFIG /RELEASE IP-адрес немедленно становиться доступен для назначения его другим компьютерам. Когда клиент включен в новую сеть, он запросит новый адрес. Утилита NETSTAT Утилита NETSTAT выводит статистику для протоколов (TCP, IP, ICMP, UDP) и информацию об IP-соединениях. Команда NETSTAT имеет следующий синтаксис: netstat [-a][-e][-n][-s][-p имя][-r][интервал] Где: -a Отображение всех подключений и портов, на которых компьютер ожидает соединения. (Подключения со стороны сервера обычно не отображаются). -e Отображение статистики Ethernet. Этот ключ может применяться вместе с ключом -s. -n Отображение адресов и номеров портов в числовом формате, без попыток определения имен. -p протокол -- Отображение подключений для протокола "имя": tcp или udp. Используется вместе с ключом -s для отображения статистики по протоколам. Допустимые значения "имя": tcp, udp или ip. -r Отображение содержимого таблицы маршрутов (таблица маршрутизации). -s Отображение подробной статистики по протоколам. По умолчанию выводятся данные для TCP, UDP и IP. Ключ -p позволяет указать подмножество выводящихся данных по определенному протоколу. интервал - повторный вывод статистических данных через указанный интервал в секундах. Для прекращения вывода данных нажмите клавиши CTRL+C. Если параметр не задан, сведения о текущей конфигурации выводятся один раз. Netstat — это утилита командной строки, применяемая для выявления неполадок безопасности и подключений. Она позволяет определить конфигурацию портов ISA-сервера и все входящие и исходящие подключения компьютера. Для того, чтобы узнать, какие ключи применяются при запуске данной утилиты в том или ином случае, необходимо набрать в командной строке и запустить на выполнение команду: netstat ? 10 Примечание Порты используются в протоколах Transmission Control Protocol (TCP) и User Datagram Protocol (UDP) для именования конечных пунктов логических подключений. Для номеров портов выделен интервал 0—65535, он делится на три диапазона: общедоступные порты (0—1023), зарегистрированные порты (1024—49151), динамические и/или частные порты (49152—65535). Кроме списка всех активных подключений, ключ -а команды Netstat позволяет получить список всех прослушивающих портов. При указании ключа -n преобразования в имена всех адресов и номеров портов не выполняется, что позволяет различить подключения к внешним и внутренним IP-адресам компьютера ISA-сервера и определить открытые порты в любой момент времени по определенному протоколу. Вы можете узнать об активных службах на каждом порту, сравнивая данные, полученные с применением команд netstat –a и netstat -n . Объем информации, возвращаемый командой Netstat -an, можно ограничить, указав конкретные протоколы, для чего используются аргументы -р TCP или -р UDP. Например, команда Netstat -an –TCP возвращает список всех активных TCP-подключений и прослушивающих портов, команда Netstat -an -р UDP собирает информацию о состоянии портов только протокола UDP. Данные о конфигурации портов позволяют исследовать неполадки и конфликты, возникающие при работе портов, и изъяны в защите. Например, когда не удается подключиться к удаленному сервер; утилита netstat поможет обнаружить, что причина неполадки не в локалькой сети — просто удаленный компьютер отклоняет попытки подключения. Дополнительным подтверждением является получение сбросов протокола TCP или пакетов о недоступности порта ICMP при попытке подключения. Наконец, Netstat применяется для обнаружения атак. Например при выполнении атаки синхронизации (SYN) создается множество полуоткрытых TCP-соединений при попытке заблокировать сервер. В этом случае предоставляется ложный удаленный адрес, причем номера портов в нем последовательны. Эта характерная особенность атаки синхронизации позволяет обнаружить ее в такой информации, возвращаемой Netstat: Proto Local Address Foreign AddressState TCP 127.0.0.1:1030 127.0.0.1:1032 ESTABLISHED TCP 127.0.0.1:1032 127.0.0.1:1030 ESTABLISHED TCP 10.1.1.5:21 192.168.0.1:1025 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1026 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1027 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1028 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1029 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1030 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1031 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1032 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1033 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1034 SYN_RECEIVED TCP 10.1.1.5:21 192.168.0.1:1035 SYN_RECEIVED 11 GETMAC Каждое совместимое со стандартами IEEE 802 устройство имеет уникальный MAC-адрес (Media Access Control). Производитель присваивает каждой единице оборудования свой собственный адрес, который прописан в самом устройстве. Пример использования: Вы можете увидеть несколько MAC-адресов, в зависимости от того, сколько сетевых адаптеров установлено на вашем компьютере. Например, интернет-соединения Wi-Fi и Ethernet будут иметь отдельные MAC-адреса. Утилита ROUTE Является утилитой TCP/IP, которая используется для создания или модификации статических таблиц маршрутизации. Формат команды: route [-f][-p][команда [адресат][маска][шлюз][метрика] ] где: -f - удаление всех записей для шлюзов. Если этот параметр используется в сочетании с другими, то сначала производится удаление записей для шлюзов. -p - добавить (при помощи команды Add) постоянные записи. По умолчанию добавляемые записи не сохраняются при перезапуске системы. Все постоянные пути могут быть выведены на экран при помощи команды print. команда - может бвть указана одна из четырех команд: print (вывести список путей), add (добавить путь), delete (удалить путь), change (изменить существующий путь). адресат - определяет компьютер, которомунужно послатьуказанную команду. маска - определяет маску подсети для указанного пути. По умолчанию используется 255.255.255.255 шлюз - шлюз для указанного пути. метрика - установка поля метрика в таблице маршрутизации в указанное значение. Может быть задано любое значение от 1 до 9999. Все произведенные изменения в статической таблице маршрутизации будут потеряны после перезапуска системы; чтобы произвести постоянные изменения, используйте команду ROUTE с параметром -p. 12 Таблицы маршрутизации Все компьютеры, поддерживающие сетевой протокол TCP/IP, хранят таблицу маршрутизации. Путь IP-пакета определяется таблицей маршрутизации компьютера, отправляющего сетевой пакет. Для просмотра и изменения таблицы маршрутизации применяется утилита командной строки Route. Для просмотра таблицы маршрутизации локального компьютера выполните в командной строке команду route print (рис. 1). Процесс определения маршрута При определении маршрута пересылки IP-пакетов в протоколе IP используется таблица маршрутизации. 1. Для каждого маршрута в таблице протокол применяет к IP-адресу назначения и номеру подсети побитовую логическую операцию «И» (колонка Netmask на рис. 1), чтобы выяснить тип сети - локальная или удаленная. Протокол IP сравнивает результат с адресом назначения, пытаясь найти нужный маршрут. Когда он найден, протокол отмечает маршрут как соответствующий IP-адресу назначения. 2. Из списка найденных маршрутов выбирается маршрут с наибольшим числом совпадающих битов в маске сети. Этот процесс называется нахождением самого длинного, или ближайшего совпадающего, маршрута. 3. Обнаружив несколько совпадающих маршрутов, IP использует маршрут с самой низкой метрикой. 4. При обнаружении нескольких совпадающих маршрутов с одинаково низкой метрикой случайным образом выбирается один из них. Конечным результатом процесса определения маршрута является выбор одного маршрута из таблицы маршрутизации. Если маршрут найти не удается, протокол IP объявляет ошибку маршрутизации. 13 Рис. 1. Данные таблицы маршрутизации, возвращенные утилитой route Устранение неполадок в таблицах маршрутизации Утилиты Ping и Tracert позволяют определить недоступные сегменты сети. При установке ISA-сервера в сложной сети утилита Route используется для изменения таблиц маршрутизации и конфигурирования корректных маршрутов во всех сегментах сети. Например, если у ISA-сервера нет интерфейса с удаленной подсетью, для пересылки трафика в эту подсеть необходимо создать соответствующий статический маршрут. (Статическими называются маршруты, которые не создаются в таблице маршрутизации автоматически) Вот пример добавления статического маршрута средствами утилиты Route: route add 172.16.41.0 mask 255.255.255.0 172.16.40.1 metric 2 В этом примере команда Route add указывает, что пакеты, направляемые в подсеть 172.16.41.0 с маской 255.255.255.0, следует пересылать на шлюз 172.16.40.1. Значение метрики равно 2, так как удаленность подсети составляет два перехода. (Обычно метрика равна числу переходов, или количеству пройденных к цели маршрутизаторов). В этом случае иногда требуется определить статический маршрут к нижестоящим маршрутизаторам, чтобы указать пакетам обратный путь к подсети 172.16.40.0/24 Так как таблица маршрутизации автоматически создается заново при каждом перезапуске компьютера, для сохранения статических маршрутов в таблице маршрутизации необходимо добавить в таблицу постоянные записи. Командой Route add -p их можно автоматически добавить в таблицу маршрутизации при каждом ее построении. Статические маршруты также создаются средствами консоли Routing and Remote Access (Маршрутизация и удаленный доступ) в Windows 2000. Статические маршруты, созданные средствами консоли Routing and Remote Access, считаются постоянными. 14 Создание статического маршрута 1. В меню Пуск последовательно выберите Программы, Маршрутизация и удаленный доступ. Администрирование и щелкните 2. Двойным щелчком раскройте объект IP Routing (IP-маршрутизация). 3. Щелкните правой кнопкой Static Routes (Статические маршруты) и в контекстном меню выберите команду New Static Route (Новый статический маршрут). Откроется диалоговое окно Static Route (Статический маршрут). 4. Заполните поля окна статического маршрута и щелкните кнопку ОК. Утилита ARP Утилита просмотра и модификации ARP-кэша. Адреса можно вводить в ARP-кэш вручную при помощи утилиты ARP.exe. Формат команды: arp -s IP-адрес MAC-адрес. Где: -a - вывод записей, содержащихся в ARP-кэше. -q - вывод записей, содержащихся в ARP-кэше (этот ключ недоступен в Windows for Workgroups). -N - вывод записей, содержащихся в ARP-кэше и относящихся к определенному сетевому интерфейсу. -s - добавление статической записи в ARP-кэш. Синтаксис: ARP -s IP-адрес MAC-адрес. -d - удаление статической записи из ARP-кэша. Протокол передачи файлов-FTP Большинство файловых архивов предоставляют доступ посредством FTP (File Transfer Protocol) сетевого протокола передачи файлов между компьютерами (FTP-архивамы). Посредством ftp вы можете найти, получить, и переслать нужные файлы через Интернет. При доступе к FTP-архивам обычно используется стандартное имя пользователя anonymous (Name: anonymous; часто вместо anonymous можно использовать имя ftp), а в качестве пароля следует вводить Ваш адрес электронной почты (например, Password: vasya@mail.ru). Также такой доступ называют доступом по anonymous FTP. Адреса FTP-архивов соответствуют IP-адресам машин, обеспечивающих доступ к локальным архивам по FTP. Обычно эти адреса приводятся в следующей форме, например: ftp.netscape.com, . Реже используются адреса, состоящие из четырех чисел, разделенных точками. Такие адреса, обычно, заключают в квадратные скобки, например [195.34.32.10] и [207.46.131.30]. Ftp-сервер - программа, работающая на некотором компьютере в сети Итернет, на котором хранится общедоступный файловый архив, доступный для удаленных пользователей. Ftp-сервер обеспечивает обработку запросов к архиву. Ftp-клиенты - программы, используемые для доступа к архивам в режиме online. 15 Для того, чтобы запустить Ftp-клиент, в командной строке пишем ftp, появляется диалоговое окно: C:\WINDOWS>ftp ftp> Основные сервисные команды: help или ? - запрашивает помощь по командам ftp. Может иметь параметр - имя интересующей команды (например: ? disconnect). Если параметр не задан, выводит полный список команд ftp. open - устанавливает связь с ftp-директорией. Эта команда нужна, если при вызове программы ftp-связь с требуемой ftp-директорией не была установлена, например, из-за ошибки в названии удаленной машины. Она применяется также при обращении к разным ftp-директориям во время сеанса работы с ftp. При этом нужно сначала закрыть связь с одной ftp-директорией с помощью команды close или disconnect, а затем вызвать другую машину (например open ftp1.cuteftp.com). Если вы находитесь в локальной сети, то после команды open следует вводить IP-адрес проксисервера (например open 128.1.100.5). user - позволяет повторно ввести входное имя пользователя и пароль. Полезно, скажем если удаленная машина не допускает пользователей с именем ftp, но может допустить с именем anonymous. close - закрывает связь с данной ftp-директорией. bye или quit - закрывает все связи и прекращает выполнение программы ftp. Просмотр содержимого архива: Вероятнее всего, удаленная ftp-площадка использует какую-либо разновидность ОС UNIX, файловая система UNIX имеет некоторые особенности по сравнению с MS DOS. Хотя она и организована иерархически, подобно MS DOS, имена каталогов разделяются в ней символом "/", а не "\". Корневой каталог обозначается просто как "/". В MS DOS имя файла может иметь длину до 11 символов, 3 из которых отводятся на расширение. В UNIX этих ограничений нет, у файла может быть несколько расширений, например file.my.sky. В отличие от MS DOS строковые и прописные буквы в именах файлов считаются в UNIX различными. ls - просмотреть краткий список файлов и подкатологов. В качестве параметра можно задать имя интересуещего вас каталога, если параметр не задан, подразумевается текущий каталог (например, ls/pub/resources). dir - просмотреть детальный список файлов и подкаталогов, то есть информацию не только об именах, но и размерах, датах и правах доступа. Аналогично команде ls можно задать параметр с именем каталога. cd - перейти в другой каталог на удаленном компьютере. Можно установить разные режимы передачи просматриваемых файлов: ascii - устанавливает текстовый режим передачи файлов (по умолчанию). binary - устанавливает двоичный режим, например для исполняемых файлов. Команды передачи и получения файлов: 16 get или recv - получить файл с удаленного компьютера. В качестве обязательного параметра требуется указать имя этого файла на удаленной машине, например get/pub/os/msdos/news.zip. mget - получить несколько файлов по списку или в соответствии с маской (наример, get/mailserv/*.doc). put или s - переслать файл с локальной машины на удаленную. По аналогии с командой get указывается имя файла на локальном компьютере в качестве параметра. Вторым параметром может быть указано новое имя файла на новой машине. (наример, put myfile for_allfile). Данная команда доступна только при наличии соответствующих прав. mput - переслать несколько файлов по списку или маске. Наример, если надо переслать файл myfile.txt и все файлы с расширением .xls: mput myfile.txt *.xls delete - удаление на удаленном компьютере указаный файл при наличии соответствующих прав. Утилита Telnet Указав номер порта после команды Telnet, вы определите, принимает ли на нем сервер команды. Например, команда Netstat -an -p TCP позволяет определить, прослушиваются ли входящие запросы на порту 3149. Далее можно узнать, предоставляет ли ISA-сервер доступ по протоколу Telnet, выполнив команду: telnet <внешний_1Р-адрес> 3149 где <внешний_1Р-адрес> — внешний IP-адрес ISA-сервера. Если ответа нет или он не сигнализирует об ошибке подключения, внешний пользователь теоретически может использовать назначенные порту службы, вводя команды напрямую. В общем случае это не свидетельствует об изъяне защиты, однако, если протокол Telnet недостаточно защищен, хакер непременно воспользуется этим. Telnet также применяется для определения активности тех или иных служб. Например, доступность порта 25 ISA-сервера свидетельствует об активности и доступности службы SMTP (Simple Mail Transfer Protocol) внешним пользователям. Существует несколько способов блокировки доступа удаленных пользователей к службе SMTP: отключение службы SMTP, включение фильтрации пакетов ISA-сервера и/или удаления всех существующих фильтров, которые разрешают прохождение входящего трафика через порт 25. Если же вы публикуете сервер и требуется проверить доступ к нему извне, воспользуйтесь командой Telnet для проверки состояния порта. Например, публикуя Web-сервер на порту 9999 ISA-сервера, для проверки возможности подключения к данному порту воспользуйтесь командой telnet <внешний_1Р-адрес>. Системное средство Сетевой монитор (Network Monitor) Network Monitor (Сетевой монитор), или Netmon, применяется для перехвата и отображения содержимого кадров, поступающих на компьютер с локальной сети. Для облегчения процедуры анализа сетевого трафика Network Monitor предоставляет подробные 17 сведения и отображает сведения о работе 40 наиболее популярных сетевых протоколов. Другими словами, Network Monitor отображает практически всю информацию, относящуюся к сетевым сессиям, в том числе порты источника и приемника, адреса, ответы сервера, полезную нагрузку трафика. Вот пример содержимого кадра, перехваченного средствами Network Monitor : Network Monitor trace Wed 03/07/2001 08:55:17 AM Captur l.txt + Frame: Base frame properties + ETHERNET: ETYPE = 0x0800 : Protocol = IP: DOD Internet Protocol + IP: ID = OxAD6; Proto = TCP; Len: 327 + TCP: .AP..., len: 287, seq:3184161250-3184161537, ack:4040781620, win:17520, src: 1225 dst: 80 + HTTP: GET Request (from client using port 1225) Для каждого кадра отображаются сведения об инкапсулированных протоколах, которые перечислены, начиная с внешней оболочки кадра или, с точки зрения сетевых технологий, — с самого низкого сетевого уровня. Щелкнув значок «+» в начале строки, вы получите более подробную информацию, относящуюся к данному протоколу. Первая строка с названием Frame добавлена сетевым монитором для представления общих сведений о перехваченном кадре. Следующая строка содержит данные о протоколе канального уровня, по которому кадр пересылается через сеть (в данном случае Ethernet). Этот протокол представляет собой самый низкий уровень кадра, соответствующий уровню 2 модели OSI. Далее следует протокол сетевого уровня, или уровня 3; в данном случае это протокол IP. Следующий — протокол транспортного уровня, или уровня 4; в данном кадре это протокол TCP. Протокол HTTP — это протокол самого высокого уровня в данном кадре. Каждый уровень содержит сведения, относящиеся к текущему подключению или передаче. Например, в строке TCP параметры src и dst указывают на порты источника и приемника TCP-подключения, соответствующего кадру или пакету. В данном пакете источником является порт 1225, а приемником — TCP-порт 80. Строки протоколов TCP или UDP захваченного сетевым монитором кадра практически всегда позволяют определить источник и приемник трафика в сети. Эта возможность чрезвычайно важна для настройки и мониторинга брандмауэров. Трассировка сетевой активности позволяет анализировать трафик и определять причины неполадок в сети. Допустим, что пользователи жалуются на задержки при входе в систему через VPN-подключение. Сетевой монитор позволил выявить, что во время входа в систему присутствует трафик обоих протоколов — L2TP и РРТР. Это означает, что средствами мастера Local ISA VPN для подключения к удаленной сети сконфигурирован протокол L2TP, а при его недоступности применяется РРТР. Если на удаленном VPN сервере протокол L2TP недоступен, пользователи испытывают задержку при попытке подключения по обоим протоколам. Сетевой монитор позволяет выявить нерабочее Ь2ТР-подключение. Настройка ISA-сервера на подключение к удаленному VPN-серверу только по РРТР позволит устранить задержки при входе в систему Сетевой монитор помогает выявить протоколы, которые не используются, однако замедляют работу сети. Например, при подключении к частным ЛВС, в которых не применяется технология VPN, туннельный протокол РРТР не нужен. 18