FTP-сервер, который захлопывал дверь

По мере накопления опыта troubleshooting’а TCP-соединений вы начинаете замечать, что некоторые паттерны повторяются снова и снова. Поэтому не ленитесь запоминать или записывать свой опыт, это может очень сильно сэкономить время в будущем.

Недавно я столкнулся с одной интересной проблемой установления TCP-соединения.

Посмотрите на рисунок ниже:

Разберем подробно, что происходит. Видим, что клиент (IP 192.168.1.1) успешно выполняет 3-way handshake с FTP-сервером (IP 10.0.0.1), но внезапно, ещё перед тем, как получает хоть какую-то возможность передать команду, сервер ни с того ни с сего закрывает соединение (пакет 4).

Отсюда возникает вопрос: почему сервер позволил успешно завершить 3-way handshake, но не дал клиенту никакой возможности «говорить» дальше?

Читать далее “FTP-сервер, который захлопывал дверь”

PMTUD: а был ли он? Ответы на вопросы.

Некоторое время назад я публиковал статью PMTUD: а был ли он? Кейс из практики. Возможно, вы помните несколько вопросов в конце статьи, которые я задавал для тренировки. Итак, я готов дать свои ответы.

Сразу хочу сказать, что это мое мнение, у вас могут быть свои варианты, которые я с удовольствием выслушаю (кстати, с английской версией статьи так и случилось, и один из моих хорошо знакомых аналитиков Christian Reusch поправил меня по поводу одного из вопросов. Спасибо!)

Итак, в путь. Сразу оговорюсь, что статья не самого начального уровня, потому, если вы видите, что остались непонятные моменты, задавайте вопросы в комментариях, будем обсуждать.

Общий вопрос 1.  Почему первое, что я сделал – это захватил второй дамп на стороне сервера (накопителя)?

Ответ: было две причины.

Первая: я хотел проверить, доходят ли мои как клиента пакеты до NAS неизменными. Много разных устройств на пути теоретически могут манипулировать полями пролетающих пакетов (например, менять поле MSS на лету). Такой фактор влияния необходимо было сразу исключить.

На рисунке отображена не вся сеть из задачи, только основной смысл.

Читать далее “PMTUD: а был ли он? Ответы на вопросы.”

Руководство по захвату сетевого трафика. Часть 5 – Основы устройств TAP (Перевод)

Наибольшее число дампов сейчас записываются при помощи SPAN-портов. Теперь, когда мы знаем о SPAN очень многое (из предыдущей статьи), пришло время узнать об устройствах TAP – когда и как их нужно использовать для записи дампа и что это вообще такое.

ТАР – это сокращение от “Test Access Port”. (В русском языке подобное устройство называется  “ответвитель трафика”. Однако для удобства я предпочту использовать оба варианта – как английское сокращение ТАР, так и русскоязычный вариант – прим. перев.)  Предназначение ТАР – дать вам доступ к трафику, который проходит через определенный канал связи.

При захвате трафика правильно задействовать ТАР – прямой путь к получению максимально точного и достоверного дампа. Обратите внимание на слово “правильно”! Да, именно это я имею в виду – даже с ТАР можно получить некорректный результат, если неправильно его использовать. Естественно, мы рассмотрим эти моменты, а пока посмотрим немного подробнее, что это за устройство, как оно используется. Читать далее “Руководство по захвату сетевого трафика. Часть 5 – Основы устройств TAP (Перевод)”

Руководство по захвату сетевого трафика. Часть 4 – подробно о SPAN-портах (Перевод)

Мы уже кратко упоминали о технологии SPAN (Switched Port Analyzer) в предыдущих частях серии. Но есть очень много моментов, о которых нужно помнить, и поэтому давайте рассмотрим преимущества и недостатки SPAN подробнее. Также достойна упоминания постоянная битва между сторонниками SPAN и TAP: часть аналитиков будет настаивать на использовании «только ТАР!», другая часть – наоборот.

Порты SPAN
Я уже говорил это раньше и, наверное, буду повторять ещё несколько раз в следующих статьях: когда вы захватываете трафик, всё сводится к вопросу – «насколько достоверный дамп вам необходим?»
Цель этой статьи – предоставить как можно более полную информацию о практике использования SPAN в реальных задачах анализа трафика, о недостатках и преимуществах этой технологии. Обладая такой информацией, вы и сами будете в состоянии понять, сможет ли SPAN дать вам тот результат, который нужен, в части достоверности.

Повторим основы
Сейчас я немного повторюсь и опишу понятия, которые мы уже рассмотрели в первой части серии. Зачем? Просто потому, что вы, возможно, сразу начали чтение с этой части, без предыдущих. Как вы, скорее всего, уже знаете, SPAN – это функция коммутатора, которая необходима, чтобы получить копию трафика на нужном порту. Не забывайте, что для этого коммутатор должен быть управляемым. То есть, обычный «тупой» коммутатор с 5-16 портами, скорее всего, не имеет такой способности (бывают редкие исключения, когда зеркалирование порта «зашито» в конструкцию изначально).

Читать далее “Руководство по захвату сетевого трафика. Часть 4 – подробно о SPAN-портах (Перевод)”

Руководство по захвату сетевого трафика. Часть 3 – Сетевые карты (Перевод)

Во время моих выступлений и после них на конференциях я получаю много вопросов от слушателей. И один из самых частых ответов, который приходит в голову – «когда как…» На первый взгляд, это может показаться разочаровывающим, но суровая правда в том, что, когда речь заходит о захвате и анализе сетевого трафика, нужно учитывать очень много факторов. И поэтому, когда мы обсуждаем, а подходит ли обычная сетевая карта (например, встроенная в ноутбук или материнскую плату настольного ПК) для захвата трафика, ответ на это (как вы уже, наверное, догадались) – «когда как…»

Захват сетевого трафика – это одна из тех дисциплин, в которых «легко освоить базу, тяжело достичь высот» (“easy to learn, hard to master”). Достаточно легко захватить трафик на ПК, используя встроенную сетевую карту, но получить результат, который вы хотели, может стать задачей потяжелее или вообще обернуться настоящим испытанием. Давайте посмотрим, на что нужно обратить внимание при захвате Ethernet-трафика (WiFi будем рассматривать позже):

  1. Права пользователя в системе
  2. Фильтр MAC-адреса получателя и неразборчивый режим (“Promiscuous Mode”)
  3. Пассивность
  4. Возможности и функции сетевой карты
  5. Тип трафика и эффективность захвата

Читать далее “Руководство по захвату сетевого трафика. Часть 3 – Сетевые карты (Перевод)”

PMTUD: а был ли он? Кейс из практики.

У меня есть практика время от времени проводить baselinig в нашей офисной сети. В один момент я решил по плану помониторить трафик на VPN-канале между офисами. И обнаружилась такая интересная картина в трафике с сетевого накопителя (NAS).

Проблема

Явно проглядывается особенность, которой там быть не должно. Попробуйте потренировать мышление и угадать с одного взгляда:

1

Получилось? Что думаете? Ваши предположения?

Читать далее “PMTUD: а был ли он? Кейс из практики.”

Руководство по захвату сетевого трафика. Часть 2 – Скорость, дуплекс и дропы (Перевод)

В первой части серии мы прошлись взглядом по типичным схемам сетей Ethernet и различным ситуациям при захвате трафика. Поэтому в текущей статье (и во всех последующих!) я буду считать, что вы ознакомились с предыдущими частями. Сегодня давайте обсудим, в каком случае скорость интерфейса и режим дуплекса становятся очень важны, и что такое эти «дропы».

Скорость и дуплекс

Есть 2 режима дуплекса, которые можно встретить при работе с сетью Ethernet:

  1. Полудуплекс, также известный как «HDX», «Half Duplex». Он означает, что только один передатчик может отправлять данные в определенный момент времени, иначе возникнут проблемы (они же «коллизии»).
  2. Полный дуплекс («Full duplex», «FDX»). В этом режиме возможна двусторонняя коммуникация, то есть и передача, и прием возможны одновременно.

Ну так и что же случится, если одна сторона работает в режиме FDX, а вторая всего лишь в HDX? Ничего хорошего. Узел, который использует FDX, будет думать, что он спокойно может передавать данные когда только пожелает, не понимая, что это вызовет коллизию, если вдруг случится так, что HDX-сосед как раз в этот момент отправляет что-то свое. Называется такая ситуация «duplex mismatch». Что в результате? Скорость передачи упадет до совсем печального уровня (уточним: это считанные килобайты в секунду вместо мегабайтов в секунду на линке в 100 Мбит/с).

Читать больше…