임베디드 프로그래밍  

         
전체 기타 | WinCE | Delphi | VisualC | ARM | Media | SE | 마리오네트 | Java | wdm | JTAG | 영상처리 | 인증 | 질문/답변 | H/W | 알고리즘 | Platform | .net | VB | PPC | Network | android | QT | WWW | Linux |
WOL Wake On Lan 원격 부팅 만드는 방법
하창호04-21 11:35 | HIT : 11,636
http://seunghan.tistory.com/329
http://dorigom.springnote.com/pages/1519772

1. 조건
  - 랜카드에서 Wake-on-LAN 기능 지원
  - Wake-on-LAN 기능을 지원하는 인터넷공유기

2. 바이오스 설정
  - Award BIOS
     .PCI configuration > Onboard LAN Boot ROM : Enable
     .Power > Power Up Control > Power Up On PCI Card :Enable
  - Phoenix BIOS
     .Wake On Lan : Enable

3. 랜카드 설정
  - Realtek 칩셋
     .전원을 절약하기 위해 컴퓨터가 이 장치를 끌 수 있음 : 사용
     .이 장치로 컴퓨터를 대기상태에서 빠져나오게함 : 사용
     .관리 스테이션에서만 대기 모드 상태의 컴퓨터를 해제 시킬 수 있음 : 사용
  - Intel 칩셋
     .전원을 절약하기 위해 컴퓨터가 이 장치를 끌 수 있음 : 사용
     .이 장치로 컴퓨터를 대기상태에서 빠져나오게함 : 사용



4. 시스템 켜기
  - 매직패킷 보내는 유틸 , 사이트
     .WakeOnLanGui 또는 www.depicus.com/wake-on-lan/woli.aspx
       주소 , IP , 서브넷 , 포트 입력후 전송
  - WAKE ON LAN 매직 패킷 프로그램 (첨부파일 다운로드)
    

     .LAN 상에서의 내부 IP 사용한 부팅
       맥 어드레스, LAN IP(내부 IP), 서브넷 255.255.255.0, Local Subnet 선택, 원격포트번호X
     .WAN 상에서의 IP 사용한 부팅
       맥 어드레스, WAN IP(외부 IP), 서브넷 255.255.255.255, internet 선택


WOL(Wake on Lan)편집하기 http://kldp.org/Translations/html/WakeOnLan-KLDP/index.html

What?
특별히 설계된 네트웍 패킷을 사용하여 원격의 컴퓨터를 기동하는 것이다. 이 기능은 네트웍 카드와 마더보드가 Wake on Lan을 지원해야만 제대로 동작한다.

How?
WOL 은 다음과 같은 원리로 동작한다:

PC 를 종료할 때 NIC (네트웍 카드) 은 완전히 꺼진 것은 아닌 상태로 여전히 켜져 있으며, '매직' 패킷이 오는지 살펴보고 있다. 이 패킷은 특정한 문자열 (byte-sequence) 이 포함되어 있어야 하며, 아무 프로토콜 (이를테면 IPX, IP 따위) 에나 얹혀오면 된다. '마법의' 문자열을 만드는 코드를 참조하기 바란다.

이 프로그램은 UDP 를 사용해서 패킷을 보낸다. 이더넷 인터페이스로 전달되는 UDP 패킷의 완전한 모습은 아래와 같은 것이다:

          [ethernet header][IP header][UDP header][Magic sequence][CRCS]
          

스크립트는 단지 이 패킷을 보내는 것으로 족하다. NIC 은 수신만 할 뿐이며 무언가 응답하는 것이 없으므로, 이 패킷을 보낸 후 돌아오는 데이터 등에 대해서는 신경쓰지 않아도 좋다.

프로토콜에 대한 좀 더 상세한 설명은 AMD 백서를 참고하라.



http://www.chocomug.com/tt/chocomug/292

http://www.remotewakeup.com/

http://en.wikipedia.org/wiki/Wake-on-LAN



예제소스
Wake-On-Lan
It’s so sweety to maintain all workstations automatically in, say, 3am at night :) But this requires to turn it all on, and switch off after maintenance. Shutdowning is not a problem, but turning on… Turning on is not a problem too, but <=> your workstations support Wake-On-Lan technology.

Here a small C example how to invoke Wake-On-Lan.

Algo is simple - broadcast UDP magic-packet.

Magic packet consists of:

Six 0xFF bytes
Target MAC address repeated sixteen times.
If, say, target MAC is 32:00:00:23:11:13. Magic packet is

          FF FF FF FF FF FF 32 00 00 23 11 13 32 00 00 23 11 13 32 00 00 23 11 13
          32 00 00 23 11 13 32 00 00 23 11 13 32 00 00 23 11 13 32 00 00 23 11 13
          32 00 00 23 11 13 32 00 00 23 11 13 32 00 00 23 11 13 32 00 00 23 11 13
          32 00 00 23 11 13 32 00 00 23 11 13 32 00 00 23 11 13 32 00 00 23 11 13
          32 00 00 23 11 13
          Ok, ive stop bugging you and here is the code:

          /**
           * wol.c - Wake-On-Lan example.
           *
           * 2008, Michelle Beloshitsky (itanko@li.ru)
           *
           **/
          
          #include "winsock2.h"
          #include "stdio.h"
          
          #define MYPORT 2050
          
          #define MAGIC_PACKET_SIZE 6*17
          
          /**
           * Creates magic packet
           **/
          char* do_magic(char* mac)
          {
              int i; int j;
          
              char * res = malloc(MAGIC_PACKET_SIZE);
              memset(res, 0xFF, MAGIC_PACKET_SIZE);
          
              for(i=1;i<17;i++)
              {
                  for(j=0;j<6;j++)
                  {
                     res[i*6+j] = mac[j]; // expected to be at least 6 chars
                  }
              }
              return res;
          }
          
          int main()
          {
              unsigned char test_mac[6] = {0x00, 0x29, 0xED, 0x46, 0xE2, 0x06};
          
              WSADATA wsadata;
              if ( WSAStartup(MAKEWORD(2,2), &wsadata) != 0 )
              {
              printf("WSAStartup() error %i\n", WSAGetLastError());
                  return 1;
              }
          
              SOCKET sock;
              sock = socket(AF_INET,SOCK_DGRAM,0);
              if (sock == INVALID_SOCKET)
              {
                  printf("socket() error %i\n", WSAGetLastError());
                  return 1;
              }
          
              char bc = '1'; // broadcast
          
              if(setsockopt(sock,SOL_SOCKET,SO_BROADCAST,&bc,sizeof(bc)) < 0)
              {
                  printf("setsockopt() error %i\n", WSAGetLastError());
                  closesocket(sock);
                  return 1;
              }
          
              struct sockaddr_in Sender_addr;
          
              Sender_addr.sin_family       = AF_INET;
              Sender_addr.sin_port         = htons(MYPORT);
              Sender_addr.sin_addr.s_addr  = INADDR_BROADCAST;
          
              int res = sendto(sock,
                               do_magic(test_mac),
                               MAGIC_PACKET_SIZE,
                               0,
                               (struct sockaddr_in *)&Sender_addr,
                               sizeof(Sender_addr));
          
              if(res != MAGIC_PACKET_SIZE)
              {
                  printf("sendto() error %i\n", WSAGetLastError());
                  closesocket(sock);
                  return 1;
              }
          
              closesocket(sock);
              WSACleanup();
          }




Notice  기타 :: 내가 만든 제품이 CES 2009 에서 혁신상을 탔다.    하창호 2009·01·21 4369
20  기타 :: Linux Unicode programming    하창호 2011·02·18 3325
19  기타 :: MAC OS X 10.5.8 leopard 용 XCODE 및 I...    하창호 2010·05·11 5314
18  기타 :: VM 에 OSX 설치  …3  하창호 2010·04·27 3373
17  기타 :: M4850 블루투스로 인터넷 연결하기    하창호 2009·05·15 4699
16  기타 :: google calendar sms crack ...ing    하창호 2009·04·30 1
 기타 :: WOL Wake On Lan 원격 부팅 만드는 방법    하창호 2009·04·21 11636
14  기타 :: RSS    하창호 2008·09·02 2655
13  기타 :: DARC FM 고속 데이터방송 표준안    하창호 2008·07·01 3122
12  기타 :: David Fisher - Dynamic Architecture...    하창호 2008·06·26 2922
11  기타 :: 인터넷전화 개방형 정산 프로토콜(OSP) 표준    하창호 2008·05·16 3157
10  기타 :: RGB를 YCbCr 로 변환 혹은 역변환 칩    하창호 2006·09·13 3460
9  기타 :: 무료 라이브러리 모음    하창호 2006·07·26 3543
8  기타 :: 핵사워크샵 크랙방법 Hex Workshop    하창호 2006·07·06 13
7  기타 :: S-video to composite video adapter    하창호 2006·04·18 3523
6  기타 :: 윈도우 자동 종료    하창호 2006·04·18 3742
5  기타 :: PLC와 시리얼 통신시 지연시간 계산법    하창호 2005·12·21 4843
4  기타 :: RJ45 직렬 케이블과 크로스 케이블 결선  …3  하창호 2005·05·03 3711
3  기타 :: UTF8 인코딩 예제    하창호 2004·06·16 3536
2  기타 :: 주석문 표준안    하창호 2004·04·23 4028
1  기타 :: WINDIFF TOOL    하창호 2004·03·17 3034
1
   
Copyright 1999-2018 Zeroboard / skin by GGAMBO
....