사내 네트워크 IP 관리 및 데이터 시각화 프로젝트

1. 프로젝트 개요

▶ 프로젝트 제목: 사내 네트워크 IP 검증 및 시각화 시스템 구축

▶ 프로젝트 목표:

  • 사내 네트워크에서 사용 중인 IP를 지속적으로 모니터링하고 데이터화
  • SH ARPPING을 활용하여 할당된 IP와 미사용 IP를 확인
  • Google Colab과 Python을 이용하여 데이터 시각화 및 분석
  • 네트워크 장애를 방지하고 부서별 IP 할당 현황을 체계적으로 관리

2. 배경 및 문제 정의

▶ 기존 문제점:

  1. IP 주소 할당 중복 및 비효율적인 관리
    • 부서별로 정해진 IP가 명확하게 관리되지 않아 중복 할당 발생 가능
    • 신규 사용자 추가나 장비 추가 시 사용 가능한 IP를 확인하는 과정이 비효율적
  2. 네트워크 사용 현황 실시간 확인 어려움
    • SH ARP, PING 명령어를 사용하여 현재 네트워크 내 IP 사용 여부 확인
    • IP 충돌이 발생하면 빠르게 원인을 찾기가 어려움
  3. 수작업으로 진행되는 네트워크 모니터링
    • IP 할당 상태를 주기적으로 확인하지만, 별도의 데이터 저장 및 분석 기능 부재
    • 네트워크 사용 패턴을 한눈에 파악하기 어려움
  4. 데이터 시각화를 통한 효율적인 네트워크 관리 필요
    • Python과 Google Colab을 활용하여 IP 사용 현황을 그래프로 시각화
    • 부서별로 할당된 IP의 사용 상태를 한눈에 볼 수 있는 분석 환경 구축

3. 해결 방법

▶ IP 사용 현황 모니터링 및 데이터화

SH ARP, PING을 활용한 네트워크 IP 검증

@echo off
echo 현재 사용 중인 IP 목록 확인 중...
arp -a > ip_usage_log.txt

:: 내부 네트워크 대역을 보안 처리하여 사용자가 설정할 수 있도록 변경
set /p subnet="네트워크 대역 입력 (예: 192.168.1): "

echo 사용되지 않은 IP 찾기...
for /l %%i in (1,1,254) do (
    ping -n 1 %subnet%.%%i | find "Reply" > nul
    if errorlevel 1 echo %subnet%.%%i 사용 가능 >> available_ips.txt
)

echo IP 사용할수 있는 IP 확인 완료!

📌 설명:

arp -a를 사용하여 네트워크 내 사용 중인 IP 확인

PING을 활용하여 미사용 IP를 찾아 available_ips.txt에 저장

✅ 부서별 IP 할당 상태를 모니터링하여 불필요한 사용을 방지


▶ IP 데이터 분석 및 시각화 (Google Colab 활용)

available_ips.txt 데이터를 분석하여 시각화

import pandas as pd
import matplotlib.pyplot as plt

# 파일에서 IP 데이터 불러오기
with open('available_ips.txt', 'r') as f:
    available_ips = [line.strip() for line in f.readlines()]

data = {'IP': available_ips, 'Status': ['Available'] * len(available_ips)}
df = pd.DataFrame(data)

# IP 사용 현황 시각화
plt.figure(figsize=(10,5))
plt.bar(df['IP'], df['Status'], color='blue')
plt.xlabel('IP Address')
plt.ylabel('Status')
plt.title('사용 가능한 IP 현황')
plt.xticks(rotation=90)
plt.show()

📌 설명:

available_ips.txt에서 사용 가능한 IP 데이터를 불러와 Pandas로 분석

✅ Matplotlib을 활용하여 네트워크 사용 현황을 시각적으로 표현

IP 할당 상태를 한눈에 확인할 수 있도록 데이터 시각화


▶ 부서별 IP 할당 현황 분석

✅ 부서별 할당된 IP를 확인하는 SQL 쿼리

-- 본 SQL 서버에 데이터가 없어 테스트 테이블에 TEXT IMPORT 작업 진행 후 
-- 데이터 관리
SELECT department, team, ip_address, status 
FROM IP사용테이블
WHERE status = 'Allocated';

📌 설명:

network_ip_allocation 테이블에서 각 부서 및 팀별 할당된 IP 조회

✅ 할당 상태(Allocated)인 IP를 필터링하여 네트워크 자원 현황을 점검


4. 프로젝트 결과

▶ 네트워크 관리 효율성 향상

  • 기존에 수작업으로 진행되던 IP 검증을 자동화하여 관리 효율 증가
  • SH ARP, PING, SQL, Python을 활용하여 IP 사용 여부를 즉시 확인 가능
  • IP 충돌 방지 및 네트워크 장애 최소화

▶ 데이터 기반 네트워크 모니터링 구축

  • 정기적으로 네트워크 상태를 점검하고 사용 가능한 IP를 자동 탐색
  • Google Colab을 활용하여 IP 할당 데이터를 분석하고 시각화 가능
  • 부서별 IP 사용 현황을 체계적으로 관리하여 네트워크 리소스 최적화

5. 활용 기술 및 도구

기술설명

CMD (SH ARP, PING) 네트워크 IP 사용 여부 확인
Batch Script 자동화된 네트워크 상태 점검 및 IP 할당 관리
SQL (MSSQL) 부서별 IP 할당 데이터 관리 및 검증
Python (Pandas, Matplotlib) 데이터 분석 및 시각화
Google Colab 클라우드 기반 네트워크 데이터 시각화

6. 결론 및 향후 발전 방향

▶ 결론

  • 사내 네트워크 IP 검증 및 자동 할당 시스템을 구축하여 IP 관리 효율성 향상
  • SH ARP, PING, SQL을 활용하여 네트워크 충돌 방지 및 실시간 모니터링 가능
  • Google Colab을 통해 IP 사용 현황을 시각화하여 분석 및 최적화 가능

▶ 향후 발전 방향

  • Power BI 또는 Dash를 활용하여 실시간 IP 할당 대시보드 구축
  • AI 기반 네트워크 이상 감지 시스템 도입하여 보안 강화
  • 네트워크 로그를 자동 분석하여 부하가 높은 구역 탐색 및 최적화 진행