Я ищу сетевой адаптер PCI с двумя физическими уровнями, который способен аппаратно выполнять мост / коммутацию, но позволяет хосту отслеживать трафик. Такое существует?
Это будет работать на хосте Linux.
редактировать: программный мост для этого приложения невозможен. Я специально ищу какую-то модель карты, которая будет выполнять аппаратное переключение с возможностью монитора.
Да, такая штука есть. Они действительно популярны внутри домашних Wi-Fi-маршрутизаторов - именно так работает обычный маршрутизатор Linksys: четыре порта LAN подключены к одному мостовому адаптеру, который затем программно подключается к адаптеру 802.11, а затем это NAT ' ed в порт "WAN".
Однако сложно найти такой, который можно было бы просто подключить к любому компьютеру - спроса на него просто нет. Вместо этого я бы рекомендовал сделать простой программный мост, используя brctl
- это создаст «виртуальный» адаптер, обычно называемый «br0», который представляет собой мост между двумя адаптерами. Вы можете обращаться с этим виртуальным адаптером как с любым физическим.
Накладные расходы на соединение адаптеров в программном обеспечении незначительны, даже с посредственным оборудованием.
Если brctl
не дает вам того, что вам нужно (возможно, программный уровень добавляет слишком большую задержку), следующий лучший вариант - использовать порт диапазона или монитора на вашем коммутаторе. Трафик не передается по мосту, он просто копируется в порт назначения, где может происходить любой мониторинг, который вам нужен. Обратной стороной является то, что вы не можете фильтровать этот трафик, но можете отслеживать его.