Содержание
Перед началом работы со сниффером WireShark
Перед началом прочтения этого материала рекомендую ознакомиться с материалом 7-иуровневая модель ISO/OSI.
Итак, начнём. Сегодня мы с вами узнаем, как же на самом деле происходит общение компьютера с удалённым сервером на примере обычного ICMP-запроса “эхо”.
Анализируем обычный Ping-запрос
Ну да, набираем в командной строке
C:\>ping mail.ru
и наш компьютер посылает пакеты … а куда он их посылает? И как узнаёт, куда посылать? Вот на эти вопросы мы и ответим! Для этого установим бесплатный сетевой сниффер WireShark с библиотекой winpcap. Дистрибутив обязательно будет выложен. Итак, первый запуск – выбираем прослушку интерфейсов:
Так как тесты мы проводим на виртуальной машине (рекомендую к ознакомлению процесс создания виртуальной машины), выбираем нужный интерфейс VMware:
К слову, здесь я использую NAT. Мой адрес виртуальной машины: 192.168.0.3/24. Адрес NAT-транслятора 192.168.0.2. Соответственно, адрес шлюза по-умолчанию выбрал тоже 192.168.0.2. DNS сервер выбрал публичный Google-овский: 8.8.8.8.
В реальной машине VMNet8 – NAT имеет такие настройки: IP-адрес 192.168.0.1/24.
Посылаем ICMP-запрос “эхо” на сервер mail.ru, это примечательно. Заодно посмотрим, как происходит преобразование символьного имени в IP-адрес узла. А теперь обратим внимание на окно нашего сниффера:
Начинаем анализ пакетов:
- Широковещательный запрос (Broadcast) по протоколу ARP (Adress resolution protocol) с запросом: WHO has 192.168.0.2? Tell 192.168.0.3. Это означает, что в сети рассылается пакет с данным вопросом и тот узел, чей IP 192.168.0.2 отзывается на адрес 192.168.0.3 и посылает ему свой MAC-адрес. Ведь именно на MAC-адрес могут передаваться кадры данных, а куда посылать их – мы пока не знаем. Почему компьютер запрашивает MAC-адрес .2 узла? Потому что это узел – шлюз по умолчанию!
- Тут нам по этому же протоколу приходит ответ от узла 192.168.0.2, который сообщает свой MAC-адрес.
- Далее мы посылаем DNS запрос на сервер 8.8.8.8 с просьбой разрешить имя mail.ru в IP-адрес.
- Нам возвращается ответ от DNS сервера со списоком A-записей (A – это запись, означающая хост), содержащих IP адреса, привязанные к имени mail.ru.
- Выбирается первый адрес и посылается ICMP-запрос (4 раза)
- После каждого раза возвращается ICMP-ответ.
Вот мы и расписали все пакеты. Правда просто? Надеюсь, было интересно.
Comments: