Wake On Lan Как
От: 3DRaven  
Дата: 12.09.05 11:48
Оценка:
Здравствуйте. Я только недавно заинтересовался сокетами и сетью в целом, поэтому и вопросты такие.

В общем интересует формат пакета который надо слать для удаленного ВКЛЮЧЕНИЯ машины...и еще кое что :)
Исходные данные:

Есть:
1. IP удаленной машины
2. MAC удаленной машины
3. номер порта любой

Сразу скажу, обе машины лично мои и проблем с доступом и прочих, нет.

Шлём спец пакет для удаленного включения.

1. в пакете первые 0хFF 6 штук, потом MAC машины 16 раз. Я прав ?
2. Пакет посылать по UDP на любой порт (я шлю на 135, может есть предопределенный ?). Прав или нет ?
3. Пользуюсь сокетами :)
4. пакет это массив char.

Еще вопрос: чем отличается посылка
1. bind() -> send()
от
2. sendto().
3. при работе с UDP, connect() не нужен. Да ?
4. что такое BROADCAST, это есть в настройке опций сокета...я тупо содрал строку из чюжого кода и не знаю что она делает...не смотрел МСДН еще,
что то вроде int one=1;setopt(socket,ST_?????,??_BROADCAST,(char*)&one,sizeof(one)), в местах с вопросами просто не помню на память, что там пишется.

И может UDP протокол требует особого к себе отношения ?
При включенной машине снифер показывает, что пришел пакет с инфой (в том формате который я описывал выше).
Я шлю пакеты с помощью sendto(), при этом машина не включается.
WoL машина держит проверял другими аналогичными утилитами.
Код в моей утилитке похож на них, но не работает :)
Подскажите, может я чего то не делаю или делаю не так.
К слову сказать пишу на С++ и под винды. У меня есть исходники такой утилиты под юникс, может отличия кроются в этом ?
Re: Wake On Lan Как
От: wellwell Австралия https://www.softperfect.com
Дата: 12.09.05 12:15
Оценка:
"3DRaven" <37956@users.rsdn.ru> wrote in message news:1377669@news.rsdn.ru...
> Здравствуйте. Я только недавно заинтересовался сокетами и сетью в целом, поэтому и вопросты такие.
> В общем интересует формат пакета который надо слать для удаленного ВКЛЮЧЕНИЯ машины...и еще кое что
> Исходные данные:

Magic sequence
If the Ethernet address of a target computer is 01:02:03:04:05:06 (6 bytes), then the LAN controller of that machine should be looking for the following sequence

FFFFFFFFFFFF010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506
Сравни с тем что исходит из твоей проги.
Posted via RSDN NNTP Server 1.9
Re[2]: Wake On Lan Как
От: CreatorCray  
Дата: 12.09.05 15:28
Оценка:
Здравствуйте, wellwell, Вы писали:

W>Magic sequence

W>If the Ethernet address of a target computer is 01:02:03:04:05:06 (6 bytes), then the LAN controller of that machine should be looking for the following sequence

W> FFFFFFFFFFFF010203040506010203040506010203040506010203040506

W> 010203040506010203040506010203040506010203040506010203040506
W> 010203040506010203040506010203040506010203040506010203040506
W> 010203040506010203040506
W>Сравни с тем что исходит из твоей проги.

А исходит у него совсем не то. Ему надо послать чистый Ethernet пакет, а он шлет IP — UDP
Смотри либо в сторону WinPCap (ИМХО самый простой способ) либо вроде как то можно было похожее реализовать через RAW sockets.
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: Wake On Lan Как
От: Nuald Россия http://nuald.blogspot.com
Дата: 13.09.05 01:50
Оценка:
Здравствуйте, 3DRaven, Вы писали:

DR>В общем интересует формат пакета который надо слать для удаленного ВКЛЮЧЕНИЯ машины...и еще кое что


См. Wake On LAN (WOL)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.