
라이브 캡처 및 PCAP 재생을 위한 그래프 중심 네트워크 트래픽 시각화 도구로, 체크포인트 차이 비교, 경로 추적, 보안 분석을 위한 Wireshark 스타일 디스플레이 필터를 제공합니다.
PacMap은 그래프 기반 네트워크 트래픽 시각화 도구로, 실시간 캡처 및 PCAP 재생을 지원하며, 무엇이 변경되었는지, 어떤 트래픽이 노이즈인지, 다음에 무엇을 검사해야 할지 파악하는 데 도움을 줍니다.
네트워크 동작을 위한 Git이라고 생각하면 됩니다: 네트워크 상태를 스냅샷, 차이(diff), 재생할 수 있습니다.

PacMap은 두 가지 워크플로를 지원합니다:
.pcap 또는 .pcapng 파일을 업로드하고 시간에 따라 패킷 흐름을 재생합니다.저장소 루트에서:
python3 -m venv venv
source venv/bin/activate
pip install websockets scapy
npm install --prefix client
Windows에서는 일반적인 Python 워크플로를 사용하여 venv를 만들고 활성화한 다음 동일한 패키지를 설치합니다. Windows에서 패킷 캡처를 하려면 Npcap이 필요합니다.
저장소 루트에서 PacMap을 시작합니다:
npm start -- --iface en0
일반적인 인터페이스 예시:
en0eth0wlan0다음을 엽니다:
http://127.0.0.1:5176
그런 다음 제어 도크를 사용하여 실시간 캡처를 시작합니다.
원시 패킷 캡처는 일반적으로 상승된 로컬 권한이 필요합니다. macOS/Linux에서:
sudo npm start -- --iface en0
Windows에서는 터미널을 관리자로 실행합니다.
웹 앱을 열고 소스를 PCAP 재생으로 전환한 다음 .pcap 또는 .pcapng 파일을 업로드합니다. 그런 다음 다음을 사용합니다:
재생은 브라우저에서 실행되며 Python 캡처 서버가 실행 중일 필요가 없습니다.
재생에는 대화, 엔드포인트, 프로토콜 분석, 이름 확인 및 I/O 타임라인 활동에 대한 조사 패널이 포함됩니다.
파일 제한: 100MB 및 100,000 패킷. 지원되지 않는 프레임은 건너뛰고 UI에 개수가 표시됩니다.
현재 재생 지원:
.pcap 및 기본 .pcapng실시간 캡처와 재생 모두 Wireshark 스타일의 디스플레이 필터 막대를 지원합니다. 필터를 입력하고 Enter 키를 눌러 적용하고, 필드를 지우고 Enter 키를 눌러 제거합니다.
지원되는 구문:
tcp udp dns http arp
ip.addr == 192.168.1.10
ip.src == 10.0.0.1
ip.dst == 8.8.8.8
tcp.port == 443
udp.port == 53
port == 80
ip.src == 10.0.0.1 && ip.dst == 8.8.8.8
복합 필터(&&)는 두 개의 필드 필터를 결합합니다. 필터를 적용하면 그래프가 일치하는 노드와 엣지로 좁혀지고, 필터를 지우면 현재 캡처 창의 전체 뷰로 복원됩니다.
복합 필터 ip.src == X && ip.dst == Y는 경로 추적을 활성화합니다. PacMap은 전체 캡처에 걸쳐 BFS를 실행하여 두 엔드포인트 간의 홉 체인을 찾습니다. 제어 도크 아래에 각 홉에 대한 패킷 및 바이트 수와 함께 각 홉을 보여주는 패널이 나타나고, 중간 노드가 그래프에서 강조 표시됩니다.
체크포인트는 현재 네트워크 상태(노드, 엣지, 트래픽 볼륨)를 특정 시점에 스냅샷합니다.
체크포인트는 localStorage에 pacmap_checkpoints 키로 저장됩니다(최대 50개 항목).
브라우저는 호스트 네트워크 트래픽을 직접 스니핑하거나 권한이 필요한 패킷 캡처를 시작할 수 없습니다. PacMap은 실시간 캡처를 위해 Scapy를 사용하는 로컬 Python WebSocket 도우미를 사용하고, 패킷 요약을 React 앱으로 스트리밍합니다:
ws://127.0.0.1:8765
PCAP 재생은 다릅니다. 브라우저가 업로드된 파일을 읽고 실시간 패킷 액세스 없이 동일한 그래프 시각화를 재사용합니다.
프론트엔드만:
cd client
npm install
npm run dev
프로덕션 빌드:
npm run build
캡처 서버만:
source venv/bin/activate
python3 server.py --iface en0
server.py가 실행 중이 아니거나 WebSocket 포트를 사용할 수 없는 것입니다.ping 8.8.8.8, DNS 조회 또는 기타 네트워크 활동으로 트래픽을 생성하십시오.