본 프로젝트는 NPAS(Network Packet Analysis System) 프로젝트의 핵심 구성 요소인 패킷 캡처 엔진입니다. 네트워크 트래픽을 실시간으로 모니터링하고 분석하여 머신러닝 기반의 이상 패킷 감지 시스템에 필요한 데이터를 제공합니다.
NPAS 패킷 캡처 엔진은 와이어샤크와 유사한 기능을 제공하지만, 머신러닝 통합에 특화된 맞춤형 네트워크 패킷 캡처 및 분석 도구입니다. 이 도구는 네트워크 트래픽을 모니터링하고, 보안 위협을 식별하며, 네트워크 성능을 최적화하는 데 도움을 줍니다.
- 다양한 네트워크 인터페이스에서 패킷 캡처 지원
- 실시간 패킷 분석 및 프로토콜 분류
- 머신러닝을 위한 데이터 전처리 자동화
- 이상 패킷 감지 및 경고 시스템
- 확장 가능한 모듈식 아키텍처
- 이더넷, 무선, 가상 인터페이스 등 다양한 네트워크 인터페이스 지원
- 물리적 인터페이스, reth 인터페이스, 터널 인터페이스(gr, ip, lsq-/ls) 호환
- 특정 인터페이스에서 인바운드/아웃바운드 방향으로 패킷 캡처 가능
다음과 같은 다양한 프로토콜의 패킷을 캡처하고 분석할 수 있습니다:
- 네트워크 계층: Ethernet, LLC, SNAP, IPv4, IPv6, ARP
- 전송 계층: ICMP, TCP, UDP
- 애플리케이션 계층: NetBIOS, SSL, TLS, HTTP, FTP, SMTP, DNS
- 유효하지 않거나 지원되지 않는 프로토콜도 데이터 전처리를 통해 머신러닝에 활용 가능
- 최대 패킷 크기, 캡처 파일 이름, 최대 파일 크기 등 상세 설정 가능
- 방화벽 필터를 사용한 특정 트래픽 선택적 캡처 지원
- 캡처 기간 및 파일 크기 제한 설정으로 리소스 사용 최적화
- 캡처된 패킷을 표준화된 포맷으로 변환하여 머신러닝 모델에 적합한 형태로 제공
- 헤더 정보와 페이로드 데이터를 분리하여 효율적인 분석 지원
- 프로토콜별 특성 추출 및 정규화 과정을 통한 데이터 품질 향상
- NPAS의 기능 중 하나인 이상 패킷 감지를 구현하고 학습하는 데 사용
- 캡처된 패킷을, CSV를 통하여 저장할 수 있음