Scapy를 이용한 네트워크 패킷 분석은(는) 무엇을 하나요?
개요
Scapy는 세분화된 프로토콜 계층에서 네트워크 패킷을 제작, 전송, 스니핑 및 해석할 수 있는 Python 패킷 조작 라이브러리입니다. 이 스킬은 TCP/UDP/ICMP 패킷 제작, pcap 파일 분석, 프로토콜 필드 추출, SYN 스캔 구현, DNS 쿼리 분석, 비정상적으로 조각화된 패킷이나 변조된 헤더와 같은 비정상 트래픽 패턴 탐지 등 보안 관련 작업에 Scapy를 사용하는 방법을 다룹니다.
사용 시기
- Scapy를 사용한 네트워크 패킷 분석이 필요한 보안 사고를 조사할 때
- 이 도메인에 대한 탐지 규칙 또는 위협 헌팅 쿼리를 구축할 때
- SOC 분석가에게 이 분석 유형에 대한 체계적인 절차가 필요할 때
- 관련 공격 기술에 대한 보안 모니터링 범위를 검증할 때
사전 요구 사항
scapy라이브러리가 설치된 Python 3.8+ (pip install scapy)- 원시 소켓 작업(스니핑, 전송)을 위한 루트/관리자 권한
- 패킷 캡처를 위한 Npcap(Windows) 또는 libpcap(Linux)
- 대상 네트워크에서 패킷 작업 수행에 대한 승인
단계
- 오프라인 분석을 위해
rdpcap()을 사용하여 pcap/pcapng 파일 읽기 및 구문 분석 - 프로토콜 계층(IP, TCP, UDP, DNS, HTTP) 및 필드 값 추출
- 트래픽 통계 계산: 주요 트래픽 발생자, 프로토콜 분포, 포트 빈도
- TCP 플래그 비율 분석을 통한 SYN 플러드 패턴 탐지
- 쿼리 길이 및 엔트로피 분석을 통한 DNS 유출 지표 식별
- 승인된 네트워크 테스트를 위한 사용자 정의 프로브 패킷 제작
- 결과를 구조화된 JSON 보고서로 내보내기
예상 출력
패킷 통계, 프로토콜 분포, 주요 소스/대상 IP, 탐지된 이상 징후(SYN 플러드, DNS 터널링 지표, 조각화 공격) 및 플로우별 요약을 포함한 JSON 보고서입니다.