|
Сетевой фильтр |
|
|
|
Aug 11 2005, 12:28
|
Участник
Группа: Новичок
Сообщений: 26
Регистрация: 15-07-05
Пользователь №: 6 818
|
Может быть тему я некорректно написал, попробую объяснить. Есть такая железка (в планах ATMEGA128+RTL8019AS), включается между хабом и компьютером. Вообщем на вход к железки подключается кабель от хаба, а с выхода кабель идет в сетвуху компа. Я буду анализировать пакеты и в зависимость от фильтров буду передовать в комп. С тем как получить пакет и обработать с этим пока проблем нет, но как мне передать их дальше в комп, я так понимаю мне нужно две м/с RTL (одна на входе, одна на выходе). Я вообще чего-то не догоняю, может быть кто-нибуть натолкнет на мысль? Буду рад
|
|
|
|
|
Aug 11 2005, 14:13
|
Участник
Группа: Новичок
Сообщений: 26
Регистрация: 15-07-05
Пользователь №: 6 818
|
Ладно, я понял что пошел не потому пути. Но вот возникла еще одна идея: Если вход и выход моей платы будут соеденены, а вся аппаратура бедет как бы перехватывать пакеты. Как вам такая идея? Buffer простой пропускной, т.е. никакие функции не выполняет кроме запрета вывода. И еще если Атмега не справится то какой контроллер лучше взять?
|
|
|
|
|
Aug 11 2005, 17:17
|
Участник
Группа: Новичок
Сообщений: 26
Регистрация: 15-07-05
Пользователь №: 6 818
|
Прошу прощения комп барахлил. Так вот идея:
scema.bmp ( 7.9 килобайт )
Кол-во скачиваний: 126Buffer, если ОЕ установлена, то он просто пропускает сигналы, в противном случае просто закрывает выход. Далее моя сборка работает как нивидимка для компа, т.е. она просто берет пакет анализирует его и в зависимости от результатов закрывает/открывает буффер. Но есть вопрос как быть с буффером во время обработки пакета? Да и вообще как вам моя идея ? Буду рад любым насмешкам, руганям и прочим высказываниям
|
|
|
|
|
Aug 11 2005, 19:18
|
Частый гость
Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194
|
Цитата(Кузьмич А.В. @ Aug 11 2005, 20:17) Прошу прощения комп барахлил. Так вот идея:
scema.bmp ( 7.9 килобайт )
Кол-во скачиваний: 126Buffer, если ОЕ установлена, то он просто пропускает сигналы, в противном случае просто закрывает выход. Далее моя сборка работает как нивидимка для компа, т.е. она просто берет пакет анализирует его и в зависимости от результатов закрывает/открывает буффер. Но есть вопрос как быть с буффером во время обработки пакета? Да и вообще как вам моя идея ? Буду рад любым насмешкам, руганям и прочим высказываниям микроконтроллером не успеете, смотри в сторону ПЛИС
--------------------
qwerty
|
|
|
|
|
Aug 12 2005, 06:20
|
Знающий
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317
|
Цитата(Кузьмич А.В. @ Aug 11 2005, 17:13) Ладно, я понял что пошел не потому пути. Но вот возникла еще одна идея: Если вход и выход моей платы будут соеденены, а вся аппаратура бедет как бы перехватывать пакеты. Как вам такая идея? Buffer простой пропускной, т.е. никакие функции не выполняет кроме запрета вывода. И еще если Атмега не справится то какой контроллер лучше взять? Нет так тоже не выйдет, так как каждый порт имеет уникальный MAC адресс. И этот адресс испульзуется многими протоколами, такими как ARP, возникнет такая ситуация что пакет даже до вуас не долитит так как свитч посмотрит что у него на этом порту нет такого MACа и не будет слать, но если будет стоять ХАБ (он тупой в отличии от свитча, но помоему таких уже не делают) то может и будет жить как то.
|
|
|
|
|
Aug 12 2005, 08:30
|
Участник
Группа: Новичок
Сообщений: 26
Регистрация: 15-07-05
Пользователь №: 6 818
|
Цитата(MALLOY2 @ Aug 11 2005, 15:44) Все это хорошо только вот на меги скорость будет не какая, это первое, второе просто так это не заработает, точнее комп перестанет видеть хаб. тут есть 2 варианта легкий(который навернека криво работать будет) и тяжелый, начнем с легкого:
1) на тот конец который подключается к хабу нужно настроить параметры тачки (MAC адресс, IP, маску сети и т.д.)
1.1) соответственно на конце тачки толжны быть параметры хаба ну а дальше тупо на уровне MAC все пересылаеш из одного порта в другой. Ну а вообще меня этот вариант устраивает (т.к. я хочу сделать это устройство скорее для успокоения своей души, да и вообще на нее никто не претендует ), скорость мне не важна, хотя лучше 100М. Но опять же вопрос: какой контроллер лучше взять (ПЛИС не подходит по личной неприязни к онным). И в чем будет кривизна работы? Ведь насколько я это понимаю хаб (или что-то подобное) будет воспринимать меня как комп, а комп как хаб. Соответственно никаких проблем не должно быть.
|
|
|
|
|
Aug 12 2005, 09:06
|
carpe manana
Группа: Свой
Сообщений: 321
Регистрация: 2-06-05
Пользователь №: 5 659
|
Вы получаете кадр Ethernet со вложенным TCP пакетом. Начинаете его читать со входа и писать в выход, прямо со всеми заголовками, попутно отслеживая нужные поля. Если фильтр срабатывает - вы пишете в выход заведомую чушь (все единицы или пятерки или что-то) - тогда комп получает ошибку контрольной суммы и выбрасывает кадр. Если фильтр не срабатывает - кадр проходит насквозь. Возможно, в некоторых контроллерах можно отменить передачу пакета и убить пакет на входе - тогда можно чушь не писать. Вы прозрачны. Дешево и сердито. Похоже на ваш ключ, только на логическом уровне.
Уровень сложнее - сначала анализируете пакет, который где-то в буфере хранится, а потом либо пересылаете - либо нет.
Если вы начнете пакты разбирать, вырезать заголовки - то из на выходе нужно будет обратно вставлять. Тут зависит от настроек МАС-контроллера - что он вырежет, и что сможет назад сам прилепить. Обычно он контрольные суммы и преамбулы канального уровня сам умеет вставлять.
Канал односторонний, конечно. От хаба к компу. В обратную сторону вам же не надо фильтровать? Насчет скоростей микроконтроллера не знаю - считайте.
Об уникальных адресах каждого порта - для хабов и коммутаторов в обычном режиме работы они не используются. И вам, наверное, тоже не надо.
|
|
|
|
|
Aug 12 2005, 10:04
|
Участник
Группа: Новичок
Сообщений: 26
Регистрация: 15-07-05
Пользователь №: 6 818
|
А если сделать автоопределение мак адреса, т.е. при подключении устройство выясняет мас и айпи адрес компа, прописывает их в себя со стороны хаба, и работает от имени компа. Т.е. никаких настроек вручную делать не придется. А хаб тоже имеет свой айпи и мак?
|
|
|
|
|
Aug 12 2005, 11:14
|
Знающий
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317
|
Цитата(id_gene @ Aug 12 2005, 13:22) 2 MALLOY2: всем этим занимается комп, насколько я понимаю - АРП разрешениями и соотвествием IP & MAC -адресов. И все арп таблицы вы можете посмотреть у себя командой arp -a Хаб вообще ничего не делает, только соединяет каналы. Логически заменяет коаксиал, в который втыкаются все. Свитч - коммутирует по МАС-адресам (новые версии, конечно, коммутируют на 3м уровне, но мало). Подключитесь к управляемому свитчу и посмотрите - там только МАС-адреса. А в устройстве - если канал от компа будет насковзь в свитч проходитть - то у последенго в таблицах будет запись на нужном порту. Фильтровать нужно только в одну сторону. Имеено я ж про это и говорю что комутация по мак адрессам, и он не сможет скомутировать на комп. Одним словом нужно делать свитч 2 портовый и разбирать как он работает. об этом я всамом начале говорил. Вобщем про все можно почитать здесь http://www.unix.org.ua/tcpip/
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|