IP 주소 찾기 v3.0
Windows 또는 WinPE 환경에서 현재 시스템의 네트워크 정보를 간편하게 확인할 수 있는 IP 주소 찾기 v3.0을 소개합니다. 이 프로그램은 단순히 현재 사용 중인 IP 주소 하나만 보여주는 도구가 아니라, 네트워크 인터페이스별 IPv4 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버 정보를 비롯하여 Windows 버전과 OS 빌드, 제품키, 설치된 프린터 정보까지 한 번에 확인할 수 있도록 구성했습니다. 특히 일반적인 Windows 환경뿐만 아니라 WinPE 환경에서도 오프라인으로 설치된 Windows 정보를 조회할 수 있도록 구성된 것이 특징입니다.

프로그램 기본 구성
프로그램을 실행하면 Main 탭과 도움말 탭으로 구성된 간단한 GUI가 표시됩니다.
상단에는 다음과 같은 바로가기 기능이 제공됩니다.
- 장치 및 프린터
- 네트워크 연결
- 언어 선택
하단에는 조회 결과를 처리할 수 있도록 다음 버튼이 배치되어 있습니다.
- 저장
- 복사
- IP 조회
조회 결과는 프로그램 내부의 편집 창에 표시되며, 확인한 정보를 텍스트 파일로 저장하거나 클립보드로 바로 복사할 수 있습니다.
Windows / WinPE 환경 자동 감지
프로그램 시작 시 현재 실행 환경을 자동으로 확인합니다.
IsPEEnvironment() 함수에서는 다음과 같은 방법으로 WinPE 환경 여부를 판단합니다.
- HKLM\SYSTEM\CurrentControlSet\Control\MiniNT 레지스트리 확인
- X:\Windows\System32 경로 존재 여부 확인
- 현재 시스템 디렉터리가 X:\Windows\System32인지 확인
WinPE 환경으로 판단되면 일반 Windows 환경과 다른 조회 방식을 사용합니다. 또한 WinPE에서는 Windows 환경에서 사용할 수 있는 장치 및 프린터 / 네트워크 연결 바로가기 기능을 화면에서 숨기도록 처리되어 있습니다.


Windows 설치 드라이브 자동 탐색
WinPE에서 프로그램을 실행할 경우 현재 실행 중인 PE가 아닌 실제 Windows가 설치된 드라이브를 선택할 수 있도록 구성되어 있습니다. PopulateDriveCombo() 함수에서는 고정 디스크 드라이브를 검색한 후 다음 경로를 확인합니다. Windows\System32\config\SYSTEM 해당 SYSTEM 하이브가 존재하는 드라이브를 Windows 설치 드라이브로 판단하여 콤보박스에 등록합니다. 따라서 여러 개의 Windows 설치 디스크가 연결되어 있는 PE 환경에서도 조회 대상 Windows를 선택할 수 있습니다. PE에서 사용되는 X:, Y:, Z: 드라이브는 Windows 설치 드라이브 검색 대상에서 제외하도록 처리되어 있습니다.
Windows 환경의 IP 정보 조회
일반적인 Windows 환경에서는 FindIPInWindows()를 통해 현재 실행 중인 Windows의 정보를 조회합니다.
조회 과정은 다음과 같이 단계적으로 진행됩니다.
- 장치 및 OS 정보 조회
- 네트워크 정보 조회
- 프린터 정보 조회
- 결과 정리
조회 과정에는 별도의 진행 창이 표시되어 현재 어떤 정보를 확인하고 있는지 사용자에게 알려줍니다.



Windows OS 정보 및 제품키 조회
Windows 환경에서는 레지스트리에서 다음 정보를 가져옵니다.
- ProductName
- DisplayVersion
- CurrentBuild
- UBR
- DigitalProductId
이를 이용하여 Windows 제품명과 버전, OS 빌드 정보를 구성합니다.
예를 들어 결과에는 다음과 같은 형태로 표시됩니다.
Windows 정보 : Windows 11 Pro
: 버전 25H2 (OS 빌드 26200.xxx)
제품키 : XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

제품키는 단순히 레지스트리 값을 그대로 출력하는 방식이 아니라 DecodeDigitalProductId() 함수를 이용하여 DigitalProductId 바이너리 데이터를 해석하고 25자리 제품키 형태로 변환합니다.

Windows API를 이용한 네트워크 정보 조회
네트워크 정보는 AutoIt의 외부 명령어에 의존하지 않고 Windows API를 직접 호출하는 방식으로 구성되어 있습니다. _GetNetworkAdapterInfoWinAPI() 함수에서는 Windows의 GetAdaptersAddresses API를 이용하여 네트워크 어댑터 정보를 가져옵니다.

각 네트워크 인터페이스에 대해 다음 정보를 확인합니다.
- 인터페이스 이름
- IPv4 주소
- 서브넷 마스크
- 기본 게이트웨이
- DNS 서버
게이트웨이와 DNS 정보는 각각 연결된 주소 구조를 순회하면서 IPv4 주소를 추출하고 inet_ntoa를 이용하여 사람이 읽을 수 있는 IP 주소 형태로 변환합니다. 이 방식으로 여러 개의 네트워크 어댑터가 연결된 시스템에서도 인터페이스별 네트워크 정보를 구분하여 표시할 수 있습니다.

서브넷 마스크 조회
네트워크 어댑터 정보에서 IPv4 주소를 확인한 후 해당 IP에 대응하는 서브넷 마스크를 레지스트리에서도 확인하도록 구성되어 있습니다.
_GetSubnetMaskFromRegistryWinAPI() 함수에서는 SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
경로의 네트워크 인터페이스 정보를 순회합니다.
각 인터페이스에서 IPAddress, SubnetMask 값을 확인하고, DHCP 환경에서는 다음 값을 대체하여 확인합니다.
- DhcpIPAddress
- DhcpSubnetMask
이를 통해 고정 IP뿐만 아니라 DHCP로 할당된 네트워크 설정도 확인할 수 있도록 구성되어 있습니다.
설치된 프린터 정보 조회
이 프로그램은 네트워크 정보뿐만 아니라 설치된 프린터 정보도 함께 확인합니다. _GetPrinterInfoWinAPI() 함수에서는 Windows 레지스트리의 프린터 정보를 직접 조회하여 프린터 이름과 연결된 포트 정보를 확인합니다. 네트워크 프린터의 경우 포트 이름에서 IPv4 주소를 추출하고, 필요한 경우 Standard TCP/IP Port의 레지스트리 정보를 추가로 조회하여 IP 주소를 확인합니다.
결과에는 다음과 같은 형태로 표시됩니다.
프린터 정보:
프린터 이름 : 프린터 이름
IP 주소 : 192.168.0.xxx

IP 주소를 확인할 수 없는 USB 또는 로컬 포트 등의 경우에는 미확인 (USB/로컬 포트)로 표시합니다.
또한 OneNote와 Root-Printer 등 프로그램에서 제외하도록 지정된 항목은 조회 결과에서 제외합니다.
WinPE에서 오프라인 Windows 정보 조회
이 프로그램에서 가장 특징적인 부분은 WinPE 환경에서 실행했을 때 실제 설치된 Windows의 정보를 조회할 수 있다는 점입니다.
WinPE에서는 현재 실행 중인 운영체제가 PE이기 때문에 일반적인 HKLM 레지스트리만 조회해서는 대상 Windows의 네트워크 설정을 확인할 수 없습니다.
이를 해결하기 위해 선택한 Windows 설치 드라이브의 다음 하이브를 임시로 로드합니다.
Windows\System32\config\SYSTEM
Windows\System32\config\SOFTWARE
SYSTEM 하이브는 HKLM\TempSystem, SOFTWARE 하이브는 HKLM\TempSoftware에 임시로 연결합니다.
이후 해당 하이브에서 다음 정보를 조회합니다.
- 컴퓨터 이름
- Windows 제품명
- DisplayVersion
- OS 빌드
- DigitalProductId
- 네트워크 인터페이스
- IP 주소
- 서브넷 마스크
- 기본 게이트웨이
- DNS 서버
- 프린터 관련 정보
조회가 끝나면 사용했던 하이브를 자동으로 언로드합니다. 따라서 PE 환경에서 대상 Windows를 직접 부팅하지 않은 상태에서도 저장된 Windows의 시스템 정보를 확인할 수 있습니다.
WinPE 네트워크 설정 조회
WinPE에서는 대상 Windows의 SYSTEM 하이브에서 다음 경로를 기준으로 네트워크 인터페이스 정보를 확인합니다.
ControlSet001\Services\Tcpip\Parameters\Interfaces
각 인터페이스에서 다음 값을 조회합니다.
IPAddress
SubnetMask
DefaultGateway
NameServer
고정 설정값이 없는 경우 DHCP 관련 값을 추가로 확인합니다.
DhcpIPAddress
DhcpSubnetMask
DhcpDefaultGateway
DhcpNameServer
또한 네트워크 인터페이스 GUID를 이용하여 실제 네트워크 어댑터 이름을 찾아 결과에 표시하도록 구성되어 있습니다.
WinPE에서 프린터 정보 확인
프린터 정보 역시 대상 Windows의 SYSTEM 하이브를 기준으로 조회합니다. 프린터 드라이버 정보는 Version-3 및 Version-4 영역을 확인하고, Standard TCP/IP Port에 등록된 포트 정보도 함께 확인합니다. 이를 통해 WinPE에서 실행하더라도 현재 PE에 설치된 프린터가 아니라 선택한 Windows 설치 환경에 저장되어 있는 프린터 관련 정보를 확인할 수 있습니다.



조회 결과 저장 및 클립보드 복사
IP 조회가 완료되면 결과는 내부 변수에 저장되며 두 가지 방법으로 활용할 수 있습니다.
저장
저장 버튼을 클릭하면 파일 저장 대화상자가 표시되고 조회 결과를 .txt 파일로 저장할 수 있습니다.
기본 파일명은 다음과 같습니다.
IP_Info.txt
복사
복사 버튼을 이용하면 마지막으로 조회한 결과를 클립보드에 복사할 수 있습니다. 따라서 네트워크 설정을 다른 문서나 작업 화면에 옮겨야 할 경우 별도로 IP 주소를 직접 입력할 필요 없이 바로 붙여 넣을 수 있습니다.
한국어 / 영어 다국어 지원
프로그램 우측 상단에는 언어 선택 콤보박스가 있습니다.
현재 다음 두 가지 언어를 지원합니다.
- 한국어
- English
언어를 변경하면 프로그램 제목과 버튼, 도움말뿐만 아니라 조회 결과에 표시되는 주요 문구도 함께 변경됩니다. 선택한 언어는 프로그램 실행 폴더의 setting.ini에 저장되기 때문에 다음 실행에서도 마지막으로 선택한 언어 설정을 유지합니다.
장치 및 프린터 / 네트워크 연결 바로가기
프로그램 상단에는 Windows의 관련 시스템 기능을 바로 실행할 수 있는 링크가 배치되어 있습니다.
장치 및 프린터
Windows의 장치 및 프린터 화면을 바로 실행합니다.
네트워크 연결
ncpa.cpl을 실행하여 Windows의 네트워크 연결 화면을 바로 열 수 있습니다.
다만 WinPE 환경에서는 해당 기능이 지원되지 않기 때문에 두 링크를 화면에서 숨기도록 처리되어 있습니다.
중복 실행 방지
프로그램 실행 시 _Singleton()을 이용하여 동일 프로그램의 중복 실행을 방지합니다.
이미 프로그램이 실행 중인 상태에서 다시 실행하면 알림을 표시하고 새로운 인스턴스는 종료됩니다.
여러 개의 프로그램 창이 동시에 실행되는 것을 방지하여 단일 프로그램 형태로 사용할 수 있도록 구성했습니다.
관리자 권한 실행
소스에서는 다음과 같이 관리자 권한 실행을 요구하도록 설정되어 있습니다.
#RequireAdmin
특히 WinPE에서 외부 Windows의 레지스트리 하이브를 로드하거나 시스템 정보를 확인하는 작업이 포함되어 있기 때문에 프로그램은 관리자 권한으로 실행하도록 구성되어 있습니다.
IP 주소 찾기 v3.0의 주요 기능
정리하면 이번 프로그램은 다음과 같은 기능을 제공합니다.
- Windows / WinPE 환경 자동 감지
- Windows 설치 드라이브 자동 검색
- WinPE에서 오프라인 Windows 정보 조회
- 컴퓨터 이름 확인
- Windows 제품명 및 버전 확인
- OS 빌드 정보 확인
- DigitalProductId 기반 Windows 제품키 조회
- 네트워크 인터페이스별 IPv4 주소 조회
- 서브넷 마스크 조회
- 기본 게이트웨이 조회
- DNS 서버 조회
- 설치된 프린터 정보 조회
- 네트워크 프린터 IP 주소 조회
- 조회 결과 TXT 저장
- 조회 결과 클립보드 복사
- 한국어 / 영어 지원
- 장치 및 프린터 바로가기
- 네트워크 연결 바로가기
- 중복 실행 방지
마무리
IP 주소 찾기 v3.0은 단순한 IP 확인 프로그램을 넘어 Windows 환경에서 필요한 네트워크 및 시스템 정보를 한 번에 확인할 수 있도록 구성한 진단용 유틸리티입니다. 특히 WinPE 환경에서 실행하여 실제 설치된 Windows의 SYSTEM 및 SOFTWARE 하이브를 임시로 로드하고, 해당 Windows에 저장된 네트워크 설정과 OS 정보를 확인할 수 있도록 구성한 부분이 핵심입니다. 또한 Windows API를 직접 호출하여 네트워크 어댑터와 프린터 정보를 조회하고, 조회된 결과를 텍스트 파일이나 클립보드로 활용할 수 있도록 구성했습니다. Windows 설치 및 복구 작업, WinPE 기반 유지보수 환경, 네트워크 설정 확인 등의 작업에서 간단하게 실행하여 필요한 정보를 확인하는 용도로 활용할 수 있습니다.
[윈도우 환경] IP Address Finder v3.0 사용 방법 - 움짤(GIF)

[PE 환경] IP Address Finder v3.0 사용 방법 - 움짤(GIF)

'자작 프로그램 > IP 정보 찾기' 카테고리의 다른 글
| IP Search v2.0 - 최종 (2) | 2025.02.24 |
|---|---|
| IP Search v2.0 - IP 정보, 장치 이름, 프린터 이름 출력 및 저장 (0) | 2025.02.23 |
| IP Search v1.0 - IP 정보 출력 및 저장(초안) (1) | 2025.02.21 |




























































