AZbest 0 April 14, 2008 Posted April 14, 2008 · Report post Сразу скажу, что в деталях программирования под Windows я не разбираюсь, однако суть процессов понимаю. Я (типа) старший проекта. Так вот, мы адресуемся к устройствам сети по MAC-адресу. Т.е. голый Ethernet без TCP/IP и сокетов. А какие средства есть у программиста под Windows (XP), позволяющие обрабатывать (формировать, отсылать и принимать) Ethernet-кадры? Quote Share this post Link to post Share on other sites More sharing options...
GGGGG 0 April 14, 2008 Posted April 14, 2008 · Report post Проще всего, наверное, будет воспользоваться готовой библиотекой Winpcap (www.winpcap.org) Quote Share this post Link to post Share on other sites More sharing options...
alexander55 1 April 14, 2008 Posted April 14, 2008 · Report post Под win, если пользоваться С++Builder 6, есть хорошие компоненты Indy (сервера м клиента). Эхо-сервер порядка 10 строчек кода и все дела. Клиент не больше. Quote Share this post Link to post Share on other sites More sharing options...
ASN 0 April 14, 2008 Posted April 14, 2008 · Report post alexander55 Как я понял, речь идёт о голом Ethernet. А разве через Indy можно просматривать и отсылать такие Ethernet пакеты? Кстати, возможно ли в принципе увеличить задержку на повторную отсылку пакета с SYN при установлении соединения по XP? Или 3 секунды заданы как константы? Quote Share this post Link to post Share on other sites More sharing options...
alexander55 1 April 14, 2008 Posted April 14, 2008 · Report post Как я понял, речь идёт о голом Ethernet. Голый - это LAN, а одетый - уже WAN. Так ? А разве через Indy можно просматривать и отсылать такие Ethernet пакеты? И в LAN и в WAN. Кстати, возможно ли в принципе увеличить задержку на повторную отсылку пакета с SYN при установлении соединения по XP? Или 3 секунды заданы как константы? Через любое время можете законектиться. Главное - не создавать сумашедший траффик. Что такое SYN (я не в курсе). :07: Еще раз прочитал и увидел у Вас про MAC. Понял, что Вы что-то не допонимаете. MAC - это уникальный индентификатор производителя и не что иное. IP адреса - это и есть адрес устройства в сети. MAC используется сервером для проверки корректности используемого IP (чтобы враги не залезли), и больше не для чего больше. Quote Share this post Link to post Share on other sites More sharing options...
Andrew2000 0 April 14, 2008 Posted April 14, 2008 · Report post Еще раз прочитал и увидел у Вас про MAC. Понял, что Вы что-то не допонимаете. MAC - это уникальный индентификатор производителя и не что иное. IP адреса - это и есть адрес устройства в сети. MAC используется сервером для проверки корректности используемого IP (чтобы враги не залезли), и больше не для чего больше. Не путайте человека - у Вас тут бред написан... полный. А по воросу - да - www.winpcap.org и http://www.ethereal.com/ Quote Share this post Link to post Share on other sites More sharing options...
alexander55 1 April 15, 2008 Posted April 15, 2008 · Report post Не путайте человека - у Вас тут бред написан... полный. Если так пишете, то хотя бы объясняйте, с чем Вы не согласны. Продолжу свой бред или поясню для ясности (как получится). IP адрес - 32 битный (всего примерно 4 миллиарда адресов). Это немного, учитывая, что некоторые фирмы имеют класс A или B и часть адресов закреплено. Продает IP-адреса некая организация, которая и следит за порядком во всемирной паутине. MAC - 48 битный . Продаются производителям сетевого оборудования (того, что имеет IP-адрес). Многие производители, исчерпав весь диапазон пошли уже по второму или по третьему кругу (особенно это касается производителей сетевых плат). Зачем нужны MAC-адреса ? Ответ такой. Пусть Вы подключились к провайдеру класса B или С. Он имеет фиксированное количество IP-адресов в WAN. Он является шлюзом от WAN к своей сети. Из-за ограничений по количеству используется динамическое выделение IP-адресов. Чтобы индентифицировать оборудование пользователей своей сети на уровне железа используется индентификация по MAC-адресам (кроме имени и паролей). Но часто MAC-адреса вообще не используются, к тому же они перепрошиваются тоже. Надеюсь, не запутал всех окончательно. Quote Share this post Link to post Share on other sites More sharing options...
AZbest 0 April 15, 2008 Posted April 15, 2008 · Report post Спасибо, навели меня на верный путь. В общем, pcap - вещь. На его основе пишутся снифферы. Про Indy ещё не знаю, но посмотрю в этом направлении. Еще есть Microsoft'овская технология raw socet. Но, говорят, в целях безопасности Windows её после XP SP2 закрыли заплаткой. Но, как я понял выход есть - библиотека pcap! А смысл адресации по MAC-адресам такой - наше оборудование должно быть доступно для управления по сети не дожидаясь назначения IP-адреса пользователем или DHCP-сервером (которого может и не быть). И еще - при новом включении устройства оно получит новый IP от сервера, а это не есть good. Quote Share this post Link to post Share on other sites More sharing options...
alexander55 1 April 15, 2008 Posted April 15, 2008 · Report post А смысл адресации по MAC-адресам такой - наше оборудование должно быть доступно для управления по сети не дожидаясь назначения IP-адреса пользователем или DHCP-сервером (которого может и не быть). И еще - при новом включении устройства оно получит новый IP от сервера, а это не есть good. Если у Вас своя LAN и хватает IP-адресов, то лучше их делать жесткими в пределах той маски, которую Вы используете. Например, все АСУТП шные объекты делаются только с жесткими IP-адресами. По поводу портов рекомендую использовать последнюю четверть (0xc000 - 0xfffe). Это рекомендация от *x. Коль речь зашла про *x, то эхо-сервер, например, в QNX делается простым переопределением стандартных входа и выхода. Quote Share this post Link to post Share on other sites More sharing options...
xvr 12 April 15, 2008 Posted April 15, 2008 · Report post Если так пишете, то хотя бы объясняйте, с чем Вы не согласны. Человеку не нужен TCP/IP стек, и даже голый IP не нужен. Ему нужен голый Ethernet. Для справки - Ethernet это не только TCP/IP, но и еще куча других протоколов, вплоть до IEEE 802.3 Продолжу свой бред или поясню для ясности (как получится).Не надо, мы уже все поняли :) Quote Share this post Link to post Share on other sites More sharing options...
vvs157 0 April 15, 2008 Posted April 15, 2008 · Report post Если так пишете, то хотя бы объясняйте, с чем Вы не согласны. Продолжу свой бред или поясню для ясности (как получится) Помимо TCP/IP в сети Ethernet (даже в рамках системы Windows XP) может прекрасно существать протокол IPX/SPX от фирмы Novel и протокол NetBEUI от фирмы Microsoft, и много чего еще, которые к IP адресам абсолютно никакого отношения не имеют. Без МАС адреса пакеты в сети Ethernet Ходить не могут ибо МАС - это свойство только Ethernet'a. Посмотрите как TCP/IP ложится на модель OSI. Можете провести эксперимент - удалите в Винде TCP/IP и поставьте IPX/SPX - Интернета не будет, а соседнюю машину, на которой тоже должет быть поднят этот протокол вы прекрасно увидите и сможете даже файлы копировать. Quote Share this post Link to post Share on other sites More sharing options...
alexander55 1 April 15, 2008 Posted April 15, 2008 · Report post Я понял - я консерватор. У меня просто уже все застыло, застандартизировалось и даже мысли иные не посещают. Если надо сделать вещь саму в себе SMB (она же Samba, она же NETBEUI). Это достаточно быстрый протокол. PS. Компоненты Indy Вам не подойдут, они под TCP/IP. Quote Share this post Link to post Share on other sites More sharing options...
vvs157 0 April 15, 2008 Posted April 15, 2008 · Report post Я понял - я консерватор. У меня просто уже все застыло, застандартизировалось и даже мысли иные не посещают. Если надо сделать вещь саму в себе SMB (она же Samba, она же NETBEUI). Это достаточно быстрый протокол. NetBEUI к SMB отношения не имеет. SMB идет поверх TCP/IP. NetBIOS и NetBEUI - это совсем разные вещи. Samba - это Юниксовая реализация микрософтовского протокола SMB. В Виндах Самбы нет так так то, что делает Самба там уже реализовано Дядей Билли Quote Share this post Link to post Share on other sites More sharing options...
alexander55 1 April 15, 2008 Posted April 15, 2008 · Report post NetBIOS :07: . Вроде вообще не упоминали или я опять что-то пропустил. Quote Share this post Link to post Share on other sites More sharing options...
vvs157 0 April 15, 2008 Posted April 15, 2008 · Report post NetBIOS :07: . Вроде вообще не упоминали или я опять что-то пропустил.В контексте Самбы http://www.opennet.ru/base/net/samba_wins2.txt.html Quote Share this post Link to post Share on other sites More sharing options...