Всем привет.
Исходные данные.
Есть собственная программа, (TCP-mapper), которая вклинивается в поток между сервером и множеством клиентов. Установлена на той же машие, где и сервер. (ос — Windows2003). Ее задача — специфический анализ проходящего TCP-потока и собственная визуализация. Поток не фильтруется, не подменяется.
Вроде все хорошо, но есть два НО:
1) притормаживается работа клиентов
2) в случае падения программы, коннекты обрываются и работа с сервером прерывается.
Мне подсказали, что можно организовать на уровне железа так называемые "зеркальные порты". Как мне рассказал знакомый системщик, зеркальный порт настраивается в коммутаторе и сам коммутатор копирует весь траффик предразначенный одному порту копммутатора на еще один порт. К этом порту надо подключить выделенную сетевую карты и слушать/анализировать. Вроде как при этом оба недостатка исключаются.
Собственно вопрос — что должна из себя представлять программа, слушающая этот сетевой интерфейс? Сниффер? Есть другие варианты?
Где прочитать подробности, примеры програмной реализации этой схемы — "зеркальные порты".
Зачем тогда нужны эти "зеркальные порты", если как сказано по ссылке "Внутри одного сегмента сети Ethernet все пакеты рассылаются всем машинам".
Sniffer и без "зеркальных портов" получит весь траффик. Без дополнительных усилий админа и без доп.затрат на железо.
_>Зачем тогда нужны эти "зеркальные порты", если как сказано по ссылке "Внутри одного сегмента сети Ethernet все пакеты рассылаются всем машинам". _>Sniffer и без "зеркальных портов" получит весь траффик. Без дополнительных усилий админа и без доп.затрат на железо.
Вариант А) вы запускаете программу-визуализатор на той же машине где и сервер. Тут никакой мирроринг не нужен. Запустите, например, WireShark и любуйтесь на трафик вашего сервера и клиентов.
Вариант Б) Если же программа-визуализатор запущена на другом компе, то надо как-то обеспечить получение ею копии трафика между клиентом и сервером. Тут вполне подойдут те самые мирроринговые порты на свичах.
Однако сама программа-визуализатор от этого не зависит. она просто снифит весь трафик, выковыривает оттуда данные относящиеся к вашему серверу и клиентам и обрабатывает их.
Для снифинга можно использовать libpcap / winpcap — как делает wireshark (в девичестве — ethereal).
_>Собственно вопрос — что должна из себя представлять программа, слушающая этот сетевой интерфейс? Сниффер? Есть другие варианты? _>Где прочитать подробности, примеры програмной реализации этой схемы — "зеркальные порты".
Не понял проблемы
Открываешь тот же порт (или порт на который перенаправляет коммутатор) на ДРУГОЙ сетевой карте и слушаешь
Другой вопрос — как работает и как перенаправляет коммутатор ? — думаю когда это выяснишь — все встанет на свои места
_>Зачем тогда нужны эти "зеркальные порты", если как сказано по ссылке "Внутри одного сегмента сети Ethernet все пакеты рассылаются всем машинам".
Это верно только для концетраторов (хабов).
_>Sniffer и без "зеркальных портов" получит весь траффик. Без дополнительных усилий админа и без доп.затрат на железо. _>Неужели никто не знает?
Многие современных коммутаторы поддерживают port mirroring. Для концетраторов (хабов) это не актуально. Есть специальные дешевые устройства — tap. здесь
Re[4]: Зеркальный порт, подскажите куда копать
От:
Аноним
Дата:
20.08.08 14:32
Оценка:
Здравствуйте, Skorodum, Вы писали:
_>>если как сказано по ссылке "Внутри одного сегмента сети Ethernet все пакеты рассылаются всем машинам". S>Это верно только для концетраторов (хабов).
-1
Это верно не только для хабов. В случае свитчей сегментом (коллизий) является кабель от клиента до порта свитча, в который этот клиент "втыкнут".
S>Многие современных коммутаторы поддерживают port mirroring.
-1
Многие — это сколько процентов от "общей массы" в какой-то конкретной ситуации?