понедельник, 3 августа 2009 г.

Ping, Tracert и Route.

[Ping|Tracert|Route]

Этот обзор простых команд командной строки для настройки локальной сети написан для ознакомления.

Возьмём для примера персональный компьютер (ПК), имеющий доступ к двум шлюзам (например, локальному IP 192.168.40.30 и внешнему IP 192.168.50.30), для доступа к различным ресурсам сети. Допустим, у нас есть две сетевые программы. После подключения к локальной сети на тестируемом ПК одна из них не нашла свои сетевые ресурсы. Первая подключается к серверу во внешней сети по IP адресу 212.48.ххххх. Вторая - ищет базу данных в локальной сети по IP адресу 192.168.131.xxx.

Команда PING.

Возможные ключи к пингу: ping [-t] [-a] [-n <число>] [-l <размер>] [-f] [-i ] [-v ] [-r <число>] [-s <число>] [[-j <список узлов>] | [-k <список узлов>]] [-w <тайм-аут>] [-R] [-S <адрес источника>] [-4] [-6]. Применяется для проверки доступности удалённого ПК по IP протоколу. Хелп по Пингу по команде ping/? в командной строке. Пингуем внешний IP адрес. Пишем в командной строке: ping (IP узла), жмём Enter...

Пример 1:




--------------------------------------------------------------
>ping 212.48.ххххх
Обмен пакетами с 212.48.ххх.ххх по с 32 байтами данных:
Ответ от 212.48.ххххх: число байт=32 время=194мс TTL=62
Ответ от 212.48.ххх.ххх: число байт=32 время=299мс TTL=62
Ответ от 212.48.ххх.ххх: число байт=32 время=279мс TTL=62
Ответ от 212.48.ххх.ххх: число байт=32 время=169мс TTL=62

Статистика Ping для 212.48.ххх.ххх:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 169мсек, Максимальное = 299 мсек, Среднее = 235 мсек
>
--------------------------------------------------------------





В указанном примере «пинг» прошёл без потерь пакетов, значит связь с удалённым хостом есть. Однако стоит обратить внимание на большую разницу в скорости прохождения пакетов (235 мсек +/- 64мс). Это может стать причиной медленной работы или ошибок в клиент-серверных программах (из-за долгого ожидания ответа с сервера).

Пример 2:




--------------------------------------------------------------
>ping 192.168.131.xxx

Обмен пакетами с 192.168.131.xxx по с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.

Статистика Ping для 192.168.131.xxx:
Пакетов: отправлено = 4, получено = 0, потеряно = 4
(100% потерь)
>
---------------------------------------------------------------



А в данном случае, команда ping не смогла обнаружить указанный сервер. Почему так произошло? Вариантов много, начиная от проблемы с самим сервером (выключен) и заканчивая неправильно заданной маршрутизаций для поиска IP адреса. Проверить маршрутизацию можно с помощью команды tracert.

В показанных вариантах использования команды ping (без дополнительных ключей) - наиболее простой и наиболее употребляемый метод. Дополнительные возможности и ключи их открывающие можно всегда узнать введя в командной строке "ping/?" без кавычек (вывод хелпа по пингу).

Из интересных ключей, на мой взгляд, это -t и -l . Первый заставляет команду ping выполняться бесконечно, пока не нажмут Ctrl+C (полезно при проверки настроек "на лету", во время внесения каких либо изменений в сеть). Второй ключ вводится с числом, указывающим количество отправляемых байт в пакете (Пример: >ping -l 10000 -пингует сервер пакетами по 10000 байт) - это полезно для проверки качества канала связи, на плохом канале пакеты могут перестать проходить или начнутся большие потери пакетов. В таком случае стоит проверить сетевую карту и кабель.

В общем, про пинг Всё!

[
Ping|Tracert|Route]

Команда TRACERT.

[Ping|Tracert|Route]

Применяется для проверки пути прохождения пакетов (маршрутизации) от локального хоста до любого IP. Хелп по Трейсерту по команде tracert/? в командной строке.
Доступные ключи: tracert [-d] [-h макс Число] [-j список Узлов] [-w таймаут] [-R] [-S адрес Источника] [-4] [-6].

В нашем случае пакеты отправляемые по адресу 192.168.131.xxx должны идти через локальный шлюз IP 192.168.40.30, проверим это.
Трассируем хост IP 192.168.131.xxx:

Пример 3:



--------------------------------------------------------------
>tracert 192.168.131.ххх
Трассировка маршрута к 192.168.131.ххх с максимальным числом прыжков 30
1 4 ms <1>
2 1 ms <1>
3 1 ms 1 ms 1 ms 212.120.175.130
4 * * 1 ms 195.5.118.93
5 * * * Превышен интервал ожидания для запроса.
6 * * * Превышен интервал ожидания для запроса.
7 * * * Превышен интервал ожидания для запроса.
8 * * * Превышен интервал ожидания для запроса.
9 * * * Превышен интервал ожидания для запроса.
10 * * * Превышен интервал ожидания для запроса.
11 * * * Превышен интервал ожидания для запроса.
12 * * * Превышен интервал ожидания для запроса.
13 * * * Превышен интервал ожидания для запроса.
14 * * * Превышен интервал ожидания для запроса.
15 * * * Превышен интервал ожидания для запроса.
16 * * * Превышен интервал ожидания для запроса.
17 * * * Превышен интервал ожидания для запроса.
18 * * * Превышен интервал ожидания для запроса.
19 * * * Превышен интервал ожидания для запроса.
20 * * * Превышен интервал ожидания для запроса.
21 * * * Превышен интервал ожидания для запроса.
22 * * * Превышен интервал ожидания для запроса.
23 * * * Превышен интервал ожидания для запроса.
24 * * * Превышен интервал ожидания для запроса.
25 * * * Превышен интервал ожидания для запроса.
26 * * * Превышен интервал ожидания для запроса.
27 * * * Превышен интервал ожидания для запроса.
28 * * * Превышен интервал ожидания для запроса.
29 * * * Превышен интервал ожидания для запроса.
30 * * * Превышен интервал ожидания для запроса.

Трассировка завершена.
>
--------------------------------------------------------------



Как видно из листинга трассировки наш пакет пошёл не по тому пути. Он пошёл через внешний шлюз IP 192.168.50.30, хотя должен был пойти через локальный IP 192.168.40.30 . Про tracert, в общем-то всё рассказал.
Чтобы исправить таблицу маршрутизации мы используем команду route.

[Ping|Tracert|Route]

Заглядывай чаще...

Мне помогли эти сайты: