реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Обработка Eternet-кадров под Windows., Как послать голый Ethernet-кадр в сеть?
AZbest
сообщение Apr 14 2008, 06:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 12-10-06
Из: Урал-Забайкалье-Подмосковье
Пользователь №: 21 253



Сразу скажу, что в деталях программирования под Windows я не разбираюсь, однако суть процессов понимаю. Я (типа) старший проекта. Так вот, мы адресуемся к устройствам сети по MAC-адресу. Т.е. голый Ethernet без TCP/IP и сокетов. А какие средства есть у программиста под Windows (XP), позволяющие обрабатывать (формировать, отсылать и принимать) Ethernet-кадры?
Go to the top of the page
 
+Quote Post
GGGGG
сообщение Apr 14 2008, 07:39
Сообщение #2





Группа: Новичок
Сообщений: 1
Регистрация: 13-04-06
Пользователь №: 16 084



Проще всего, наверное, будет воспользоваться готовой библиотекой Winpcap (www.winpcap.org)
Go to the top of the page
 
+Quote Post
alexander55
сообщение Apr 14 2008, 08:25
Сообщение #3


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(AZbest @ Apr 14 2008, 10:14) *

Под win, если пользоваться С++Builder 6, есть хорошие компоненты Indy (сервера м клиента).
Эхо-сервер порядка 10 строчек кода и все дела. Клиент не больше.
Go to the top of the page
 
+Quote Post
ASN
сообщение Apr 14 2008, 08:36
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



alexander55
Как я понял, речь идёт о голом Ethernet. А разве через Indy можно просматривать и отсылать такие Ethernet пакеты?
Кстати, возможно ли в принципе увеличить задержку на повторную отсылку пакета с SYN при установлении соединения по XP? Или 3 секунды заданы как константы?
Go to the top of the page
 
+Quote Post
alexander55
сообщение Apr 14 2008, 09:21
Сообщение #5


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(ASN @ Apr 14 2008, 12:36) *
Как я понял, речь идёт о голом Ethernet.

Голый - это LAN, а одетый - уже WAN. Так ? biggrin.gif

Цитата(ASN @ Apr 14 2008, 12:36) *
А разве через Indy можно просматривать и отсылать такие Ethernet пакеты?

И в LAN и в WAN.

Цитата(ASN @ Apr 14 2008, 12:36) *
Кстати, возможно ли в принципе увеличить задержку на повторную отсылку пакета с SYN при установлении соединения по XP? Или 3 секунды заданы как константы?

Через любое время можете законектиться. Главное - не создавать сумашедший траффик.
Что такое SYN (я не в курсе). 07.gif
Еще раз прочитал и увидел у Вас про MAC. Понял, что Вы что-то не допонимаете. MAC - это уникальный индентификатор производителя и не что иное. IP адреса - это и есть адрес устройства в сети. MAC используется сервером для проверки корректности используемого IP (чтобы враги не залезли), и больше не для чего больше.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Apr 14 2008, 14:31
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(alexander55 @ Apr 14 2008, 13:21) *
Еще раз прочитал и увидел у Вас про MAC. Понял, что Вы что-то не допонимаете. MAC - это уникальный индентификатор производителя и не что иное. IP адреса - это и есть адрес устройства в сети. MAC используется сервером для проверки корректности используемого IP (чтобы враги не залезли), и больше не для чего больше.

Не путайте человека - у Вас тут бред написан... полный.

А по воросу - да - www.winpcap.org и http://www.ethereal.com/
Go to the top of the page
 
+Quote Post
alexander55
сообщение Apr 15 2008, 05:02
Сообщение #7


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Andrew2000 @ Apr 14 2008, 18:31) *
Не путайте человека - у Вас тут бред написан... полный.

Если так пишете, то хотя бы объясняйте, с чем Вы не согласны.
Продолжу свой бред или поясню для ясности (как получится).
IP адрес - 32 битный (всего примерно 4 миллиарда адресов). Это немного, учитывая, что некоторые фирмы имеют класс A или B и часть адресов закреплено. Продает IP-адреса некая организация, которая и следит за порядком во всемирной паутине.
MAC - 48 битный . Продаются производителям сетевого оборудования (того, что имеет IP-адрес). Многие производители, исчерпав весь диапазон пошли уже по второму или по третьему кругу (особенно это касается производителей сетевых плат).
Зачем нужны MAC-адреса ?
Ответ такой. Пусть Вы подключились к провайдеру класса B или С. Он имеет фиксированное количество IP-адресов в WAN. Он является шлюзом от WAN к своей сети. Из-за ограничений по количеству используется динамическое выделение IP-адресов. Чтобы индентифицировать оборудование пользователей своей сети на уровне железа используется индентификация по MAC-адресам (кроме имени и паролей). Но часто MAC-адреса вообще не используются, к тому же они перепрошиваются тоже.
Надеюсь, не запутал всех окончательно. biggrin.gif
Go to the top of the page
 
+Quote Post
AZbest
сообщение Apr 15 2008, 07:48
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 12-10-06
Из: Урал-Забайкалье-Подмосковье
Пользователь №: 21 253



Спасибо, навели меня на верный путь. В общем, pcap - вещь. На его основе пишутся снифферы. Про Indy ещё не знаю, но посмотрю в этом направлении. Еще есть Microsoft'овская технология raw socet. Но, говорят, в целях безопасности Windows её после XP SP2 закрыли заплаткой. Но, как я понял выход есть - библиотека pcap!

А смысл адресации по MAC-адресам такой - наше оборудование должно быть доступно для управления по сети не дожидаясь назначения IP-адреса пользователем или DHCP-сервером (которого может и не быть). И еще - при новом включении устройства оно получит новый IP от сервера, а это не есть good.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Apr 15 2008, 08:24
Сообщение #9


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(AZbest @ Apr 15 2008, 11:48) *
А смысл адресации по MAC-адресам такой - наше оборудование должно быть доступно для управления по сети не дожидаясь назначения IP-адреса пользователем или DHCP-сервером (которого может и не быть). И еще - при новом включении устройства оно получит новый IP от сервера, а это не есть good.

Если у Вас своя LAN и хватает IP-адресов, то лучше их делать жесткими в пределах той маски, которую Вы используете.
Например, все АСУТП шные объекты делаются только с жесткими IP-адресами.
По поводу портов рекомендую использовать последнюю четверть (0xc000 - 0xfffe). Это рекомендация от *x.
Коль речь зашла про *x, то эхо-сервер, например, в QNX делается простым переопределением стандартных входа и выхода. biggrin.gif
Go to the top of the page
 
+Quote Post
XVR
сообщение Apr 15 2008, 09:14
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(alexander55 @ Apr 15 2008, 09:02) *
Если так пишете, то хотя бы объясняйте, с чем Вы не согласны.


Человеку не нужен TCP/IP стек, и даже голый IP не нужен. Ему нужен голый Ethernet. Для справки - Ethernet это не только TCP/IP, но и еще куча других протоколов, вплоть до IEEE 802.3


Цитата
Продолжу свой бред или поясню для ясности (как получится).
Не надо, мы уже все поняли smile.gif
Go to the top of the page
 
+Quote Post
vvs157
сообщение Apr 15 2008, 09:31
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(alexander55 @ Apr 15 2008, 09:02) *
Если так пишете, то хотя бы объясняйте, с чем Вы не согласны.
Продолжу свой бред или поясню для ясности (как получится)
Помимо TCP/IP в сети Ethernet (даже в рамках системы Windows XP) может прекрасно существать протокол IPX/SPX от фирмы Novel и протокол NetBEUI от фирмы Microsoft, и много чего еще, которые к IP адресам абсолютно никакого отношения не имеют. Без МАС адреса пакеты в сети Ethernet Ходить не могут ибо МАС - это свойство только Ethernet'a. Посмотрите как TCP/IP ложится на модель OSI. Можете провести эксперимент - удалите в Винде TCP/IP и поставьте IPX/SPX - Интернета не будет, а соседнюю машину, на которой тоже должет быть поднят этот протокол вы прекрасно увидите и сможете даже файлы копировать.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Apr 15 2008, 09:57
Сообщение #12


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Я понял - я консерватор. У меня просто уже все застыло, застандартизировалось и даже мысли иные не посещают. biggrin.gif
Если надо сделать вещь саму в себе SMB (она же Samba, она же NETBEUI). Это достаточно быстрый протокол.
PS. Компоненты Indy Вам не подойдут, они под TCP/IP.
Go to the top of the page
 
+Quote Post
vvs157
сообщение Apr 15 2008, 10:36
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(alexander55 @ Apr 15 2008, 13:57) *
Я понял - я консерватор. У меня просто уже все застыло, застандартизировалось и даже мысли иные не посещают. biggrin.gif
Если надо сделать вещь саму в себе SMB (она же Samba, она же NETBEUI). Это достаточно быстрый протокол.
NetBEUI к SMB отношения не имеет. SMB идет поверх TCP/IP. NetBIOS и NetBEUI - это совсем разные вещи. Samba - это Юниксовая реализация микрософтовского протокола SMB. В Виндах Самбы нет так так то, что делает Самба там уже реализовано Дядей Билли
Go to the top of the page
 
+Quote Post
alexander55
сообщение Apr 15 2008, 10:57
Сообщение #14


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(vvs157 @ Apr 15 2008, 14:36) *

NetBIOS 07.gif . Вроде вообще не упоминали или я опять что-то пропустил.
Go to the top of the page
 
+Quote Post
vvs157
сообщение Apr 15 2008, 11:03
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(alexander55 @ Apr 15 2008, 14:57) *
NetBIOS 07.gif . Вроде вообще не упоминали или я опять что-то пропустил.
В контексте Самбы
http://www.opennet.ru/base/net/samba_wins2.txt.html
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 14th July 2025 - 01:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01486 секунд с 7
ELECTRONIX ©2004-2016