|
| 1 | +# Wake-on-LAN 콘솔 애플리케이션 |
| 2 | + |
| 3 | +## 🌟 개요 |
| 4 | + |
| 5 | +**Wake-on-LAN (WOL)**은 네트워크를 통해 원격으로 컴퓨터를 켜는 기술입니다. 이 프로그램은 Windows 명령 프롬프트에서 실행되는 간단한 WOL 도구로, 설정 파일에 지정된 대상 컴퓨터에 "매직 패킷"을 전송하여 원격으로 전원을 켤 수 있습니다. |
| 6 | + |
| 7 | +### 🎯 주요 활용 사례 |
| 8 | +- 사무실에서 집 컴퓨터 원격 부팅 |
| 9 | +- 서버실의 장비 원격 관리 |
| 10 | + |
| 11 | +--- |
| 12 | + |
| 13 | +## ✨ 주요 기능 |
| 14 | + |
| 15 | +### 🔧 핵심 기능 |
| 16 | +- **매직 패킷 전송**: IEEE 802 표준에 따른 102바이트 WOL 패킷을 UDP 브로드캐스트로 전송 |
| 17 | +- **입력 검증**: MAC 주소, IP 주소, 포트 번호의 형식을 자동으로 검증하여 오류 방지 |
| 18 | +- **간편한 설정**: `config.ini` 파일 하나로 모든 설정 완료 |
| 19 | +- **다중 아키텍처 지원**: x64, x86, ARM64 플랫폼용 빌드 제공 |
| 20 | + |
| 21 | +### 🛡️ 안전성 특징 |
| 22 | +- 잘못된 설정값 입력 시 명확한 오류 메시지 제공 |
| 23 | +- 네트워크 연결 실패 시 상세한 진단 정보 출력 |
| 24 | +- 설정 파일 누락 시 친화적인 안내 메시지 |
| 25 | + |
| 26 | +--- |
| 27 | + |
| 28 | +## 📥 다운로드 및 설치 |
| 29 | + |
| 30 | +### 즉시 사용 (권장) |
| 31 | +바로 사용할 수 있는 실행 파일을 다운로드하세요: |
| 32 | + |
| 33 | +**👉 [최신 버전 다운로드](https://github.com/ohsungsik/Wake-On-Lan/releases/latest)** |
| 34 | + |
| 35 | +### 설치 단계 |
| 36 | +1. 위 링크에서 본인의 시스템에 맞는 파일 다운로드 |
| 37 | + - `WOL.x64.Release.exe` (64비트 Windows, 권장) |
| 38 | + - `WOL.x86.Release.exe` (32비트 Windows) |
| 39 | + - `WOL.ARM64.Release.exe` (ARM64 Windows) |
| 40 | + |
| 41 | +2. 원하는 폴더에 실행 파일 저장 |
| 42 | + |
| 43 | +3. 같은 폴더에 `config.ini` 설정 파일 생성 (아래 설정 방법 참조) |
| 44 | + |
| 45 | +--- |
| 46 | + |
| 47 | +## ⚙️ 설정 방법 |
| 48 | + |
| 49 | +### config.ini 파일 생성 |
| 50 | +실행 파일과 **반드시 같은 폴더**에 `config.ini` 파일을 만들고 다음 내용을 입력하세요: |
| 51 | + |
| 52 | +```ini |
| 53 | +[Target] |
| 54 | +# 깨우려는 컴퓨터의 MAC 주소 (네트워크 어댑터 주소) |
| 55 | +MacAddress=00-11-22-AA-BB-CC |
| 56 | + |
| 57 | +# 브로드캐스트 IP 주소 (보통 192.168.x.255 형태) |
| 58 | +BroadcastIp=192.168.0.255 |
| 59 | + |
| 60 | +# WOL 포트 번호 (기본값: 9) |
| 61 | +Port=9 |
| 62 | +``` |
| 63 | + |
| 64 | +### 📝 설정값 찾는 방법 |
| 65 | + |
| 66 | +#### MAC 주소 확인 (대상 컴퓨터에서) |
| 67 | +```cmd |
| 68 | +# Windows 명령 프롬프트에서 실행 |
| 69 | +ipconfig /all |
| 70 | +``` |
| 71 | +"물리적 주소" 또는 "Physical Address" 항목을 찾아 하이픈(`-`) 형식으로 입력 |
| 72 | + |
| 73 | +#### 브로드캐스트 IP 확인 |
| 74 | +- 일반적인 가정용 네트워크: `192.168.1.255` 또는 `192.168.0.255` |
| 75 | +- 모든 네트워크에 전송: `255.255.255.255` |
| 76 | +- 본인의 IP가 `192.168.1.100`이면 브로드캐스트는 `192.168.1.255` |
| 77 | + |
| 78 | +#### 포트 설정 |
| 79 | +- 기본값 `9` 사용 권장 |
| 80 | +- 필요시 `7` 또는 다른 포트 사용 가능 (1~65535) |
| 81 | + |
| 82 | +### ⚠️ 중요한 주의 사항 |
| 83 | +- `config.ini` 파일은 **UTF-8 인코딩**으로 저장해야 합니다 |
| 84 | +- 메모장에서 저장할 때 "인코딩: UTF-8" 선택 |
| 85 | +- MAC 주소는 반드시 하이픈(`-`) 구분자 사용 |
| 86 | + |
| 87 | +--- |
| 88 | + |
| 89 | +## 🚀 사용 방법 |
| 90 | + |
| 91 | +### 1단계: 명령 프롬프트 열기 |
| 92 | +- `Windows + R` → `cmd` 입력 → 엔터 |
| 93 | +- 또는 시작 메뉴에서 "명령 프롬프트" 검색 |
| 94 | + |
| 95 | +### 2단계: 프로그램 실행 |
| 96 | +```cmd |
| 97 | +# 실행 파일이 있는 폴더로 이동 |
| 98 | +cd C:\다운로드\WOL |
| 99 | +
|
| 100 | +# 프로그램 실행 |
| 101 | +WOL.x64.Release.exe |
| 102 | +``` |
| 103 | + |
| 104 | +### 3단계: 결과 확인 |
| 105 | +성공 시 다음과 같은 메시지가 표시됩니다: |
| 106 | +``` |
| 107 | +매직 패킷이 성공적으로 전송되었습니다! |
| 108 | +대상 PC가 켜지지 않는다면 다음을 확인하세요: |
| 109 | + 1. 대상 PC의 BIOS에서 Wake-on-LAN 활성화 |
| 110 | + 2. 네트워크 어댑터의 전원 관리 설정 |
| 111 | + 3. 올바른 MAC 주소 및 브로드캐스트 IP |
| 112 | + 4. 방화벽/라우터 설정 |
| 113 | +``` |
| 114 | + |
| 115 | +--- |
| 116 | + |
| 117 | +## 🔧 대상 컴퓨터 설정 |
| 118 | + |
| 119 | +Wake-on-LAN이 작동하려면 대상 컴퓨터에서 다음 설정이 필요합니다: |
| 120 | + |
| 121 | +### BIOS/UEFI 설정 |
| 122 | + |
| 123 | +1) 컴퓨터 부팅 시 Delete, F2, F12 등을 눌러 BIOS 진입 |
| 124 | +2) "Power Management" 또는 "전원 관리" 메뉴 찾기 |
| 125 | +3) "Wake on LAN" 또는 "네트워크로 깨우기" 기능 활성화 |
| 126 | +4) 설정 저장 후 종료 |
| 127 | + |
| 128 | +### Windows 네트워크 어댑터 설정 |
| 129 | + |
| 130 | +#### 1단계: 전원 관리 설정 |
| 131 | + |
| 132 | +1) 장치 관리자 열기 (Windows + X → 장치 관리자) |
| 133 | +2) 네트워크 어댑터 확장 |
| 134 | +3) 사용 중인 네트워크 어댑터 우클릭 → 속성 |
| 135 | +4) 전원 관리 탭 선택 |
| 136 | +5) 다음 옵션들 체크: |
| 137 | +- 컴퓨터가 이 장치를 끌 수 있음 |
| 138 | +- 이 장치가 컴퓨터의 대기 모드를 해제할 수 있음 |
| 139 | +- 매직 패킷만 컴퓨터의 대기 모드를 해제할 수 있음 |
| 140 | + |
| 141 | +#### 2단계: 고급(Advanced) 속성 설정 |
| 142 | + |
| 143 | +1) 같은 네트워크 어댑터 속성 창에서 고급 탭 선택 |
| 144 | +2) 다음 항목들을 찾아서 설정 (제조사별로 이름이 다를 수 있음): |
| 145 | + |
| 146 | +📌 필수 설정 항목들: |
| 147 | +- Wake on Magic Packet: 사용 또는 Enabled |
| 148 | +- Wake on Pattern Match: 사용 또는 Enabled |
| 149 | +- WOL & Shutdown Link Speed: 10Mbps First 또는 Not Speed Down |
| 150 | +- Energy Efficient Ethernet: 사용 안 함 또는 Disabled |
| 151 | +- Green Ethernet: 사용 안 함 또는 Disabled |
| 152 | +- 절전 모드에서 Magic Packet으로 깨우기: 사용 |
| 153 | + |
| 154 | +⚠️ 브랜드별 설정 이름 예시: |
| 155 | +- Realtek: "Wake on Magic Packet", "WOL & Shutdown Link Speed" |
| 156 | +- Intel: "Wake on Magic Packet", "Energy Efficient Ethernet" |
| 157 | +- Broadcom: "Wake-Up Capabilities", "Energy Efficient Ethernet" |
| 158 | + |
| 159 | +3) 설정 변경 후 확인 클릭 |
| 160 | +4) 컴퓨터 재부팅 (설정 적용을 위해) |
| 161 | + |
| 162 | +## 🔍 설정 확인 방법 |
| 163 | +PowerCfg 명령어로 WOL 설정이 올바르게 되었는지 확인하는 방법입니다: |
| 164 | + |
| 165 | +### 1단계: 관리자 권한 명령 프롬프트 열기 |
| 166 | + |
| 167 | +Windows + X 키 → "Windows PowerShell(관리자)" 또는 "명령 프롬프트(관리자)" 선택 |
| 168 | +또는 시작 메뉴에서 "cmd" 검색 → 우클릭 → "관리자 권한으로 실행" |
| 169 | + |
| 170 | +### 2단계: 명령어 실행 |
| 171 | +```cmd |
| 172 | +powercfg /devicequery wake_armed |
| 173 | +``` |
| 174 | + |
| 175 | +### 3단계: 결과 해석 |
| 176 | + |
| 177 | +✅ 정상적인 경우 (WOL 설정 완료): |
| 178 | +``` |
| 179 | +Intel(R) Ethernet Connection (2) I219-V |
| 180 | +Realtek PCIe GbE Family Controller |
| 181 | +HID-compliant mouse |
| 182 | +USB Root Hub (3.0) |
| 183 | +``` |
| 184 | +네트워크 어댑터 이름이 목록에 표시됩니다. |
| 185 | + |
| 186 | +❌ 문제가 있는 경우: |
| 187 | +``` |
| 188 | +HID-compliant mouse |
| 189 | +USB Root Hub (3.0) |
| 190 | +``` |
| 191 | +네트워크 어댑터가 목록에 없으면 WOL 설정이 제대로 되지 않은 것입니다. |
| 192 | + |
| 193 | +--- |
| 194 | + |
| 195 | +## 🔨 직접 빌드하기 |
| 196 | + |
| 197 | +개발자이거나 소스코드를 수정하고 싶다면 직접 빌드 할 수 있습니다. |
| 198 | + |
| 199 | +### 빌드 환경 요구사항 |
| 200 | +- **운영체제**: Windows 10 이상 |
| 201 | +- **개발도구**: Visual Studio 2019 이상 또는 Build Tools for Visual Studio |
| 202 | +- **C++ 컴파일러**: MSVC (Microsoft Visual C++) |
| 203 | + |
| 204 | +### 빌드 방법 |
| 205 | + |
| 206 | +#### 방법 1: 자동 빌드 스크립트 |
| 207 | +```cmd |
| 208 | +# 프로젝트 폴더에서 실행 |
| 209 | +build.bat |
| 210 | +``` |
| 211 | +빌드 완료 후 `out\bin\` 폴더에서 실행 파일 확인 |
| 212 | + |
| 213 | +#### 방법 2: Visual Studio 사용 |
| 214 | +1. `WOL.sln` 파일을 Visual Studio로 열기 |
| 215 | +2. 상단에서 플랫폼 선택 (x64/x86/ARM64) |
| 216 | +3. 구성 선택 (Debug/Release) |
| 217 | +4. **빌드** → **솔루션 빌드** (F7 또는 Ctrl+Shift+B) |
| 218 | + |
| 219 | +--- |
| 220 | + |
| 221 | +## 📁 프로젝트 구조 |
| 222 | + |
| 223 | +``` |
| 224 | +WOL/ # 프로젝트 루트 폴더 |
| 225 | +├── README.md # 이 문서 |
| 226 | +├── LICENSE # MIT 라이선스 |
| 227 | +├── .gitignore # Git 버전 관리 제외 파일 목록 |
| 228 | +├── build.bat # 자동 빌드 스크립트 |
| 229 | +├── main.cpp # C++ 소스 코드 |
| 230 | +├── WOL.sln # Visual Studio 솔루션 파일 |
| 231 | +├── WOL.vcxproj # Visual Studio 프로젝트 파일 |
| 232 | +└── out/ # 빌드 결과물 저장 폴더 (자동 생성) |
| 233 | + └── bin/ # 실행 파일 저장 위치 |
| 234 | + ├── WOL.x64.Release.exe |
| 235 | + ├── WOL.x86.Release.exe |
| 236 | + └── WOL.ARM64.Release.exe |
| 237 | +``` |
| 238 | + |
| 239 | +--- |
| 240 | + |
| 241 | +## 📄 라이선스 |
| 242 | + |
| 243 | +이 프로젝트는 **MIT 라이선스** 하에 배포됩니다. |
| 244 | + |
| 245 | +``` |
| 246 | +SPDX-License-Identifier: MIT |
| 247 | +``` |
| 248 | + |
| 249 | +자유롭게 사용, 수정, 배포하실 수 있습니다. |
| 250 | + |
| 251 | +--- |
| 252 | + |
| 253 | +## 🤝 기여 및 지원 |
| 254 | + |
| 255 | +### 버그 신고 및 기능 제안 |
| 256 | +GitHub Issues를 통해 버그 신고나 새로운 기능을 제안해 주세요: |
| 257 | +- 🐛 **버그 신고**: 문제 상황과 재현 방법을 상세히 작성 |
| 258 | +- 💡 **기능 제안**: 필요한 기능과 사용 사례 설명 |
| 259 | +- 📚 **문서 개선**: 이해하기 어려운 부분이나 누락된 내용 지적 |
| 260 | + |
| 261 | +### 개발 참여 |
| 262 | +Pull Request를 통한 코드 기여를 환영합니다: |
| 263 | +1. 프로젝트 Fork |
| 264 | +2. 기능 브랜치 생성 (`git checkout -b feature/new-feature`) |
| 265 | +3. 변경사항 커밋 (`git commit -am '새 기능 추가'`) |
| 266 | +4. 브랜치에 Push (`git push origin feature/new-feature`) |
| 267 | +5. Pull Request 생성 |
| 268 | + |
| 269 | +### 문의 |
| 270 | +- **이메일**: ohsungsik@outlook.com |
| 271 | +- **GitHub Discussions**: 일반적인 질문과 토론 |
| 272 | +- **GitHub Issues**: 버그 신고 및 기능 요청 |
0 commit comments