Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Packet-Sniffer — Raw 소켓 기반 네트워크 패킷 스니퍼로, 보안 분석 및 교육용으로 네트워크 인터페이스에서 TCP/IP 패킷을 캡처하고 분해합니다. | Kitploit
도구/GitHubGitHub/eonraider/packet-sniffer
Packet Sniffing & AnalysisInformation GatheringNetwork SecurityLearning & Education
GitHubeonraider/packet-sniffer

Packet-Sniffer

Raw 소켓 기반 네트워크 패킷 스니퍼로, 보안 분석 및 교육용으로 네트워크 인터페이스에서 TCP/IP 패킷을 캡처하고 분해합니다.

저장소 보기
786111856일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

RootWire

CodeFactor CI PyPI Python Version OS License

GNU/Linux용 네트워크 트래픽 모니터 — 이전 명칭은 Packet-Sniffer. 하나 이상의 네트워크 인터페이스에서 raw socket으로 프레임을 캡처하고, 커널 자체에서 타임스탬프를 기록하며, NETProtocols 라이브러리로 계층별로 디코딩한 뒤, 실시간으로 렌더링하거나, 나노초 정밀도의 pcap으로 기록하거나, JSON으로 스트리밍합니다:

[>] Frame #4 at 15:42:07 (wlan0, 74 bytes)
    [+] Ethernet 3c:7c:3f:1a:be:22 -> 9c:1e:95:aa:01:5f
        EtherType: IPv4
    [+] IPv4 192.168.1.96 -> 142.250.79.78
        TTL: 64 | Flags: Don't fragment (DF) | Total Length: 60 | ID: 39754
        Protocol: TCP | Checksum: 0x2b51
    [+] TCP 51888 -> 443
        Flags: 0x002 (SYN) | Seq: 3598801521 | Ack: 0
        Window: 64240 | Checksum: 0x2008
        Options: Maximum Segment Size (1460), SACK Permitted, Timestamps (3644437524, 0), No-Operation, Window Scale (7)

디코더는 Ethernet(802.1Q VLAN 태그, 중첩 QinQ 태깅 포함), ARP, IPv4(디코딩된 옵션 및 단편), IPv6(확장 헤더 포함 — MLD 리포트는 전체 Hop-by-Hop 체인을 렌더링함) 및 Neighbor Discovery(Router/Neighbor Solicitation 또는 Advertisement는 대상 주소와 링크 계층 옵션을 표시함), ICMPv4/v6, TCP(옵션을 인식하는 페이로드 오프셋, 디코딩된 옵션) 및 UDP를 커버합니다. 모든 IPv4/ICMPv4/ICMPv6/TCP/UDP 체크섬은 재계산과 대조하여 검증되며, 불일치 시 인라인으로 표시됩니다 (Checksum: 0x0000 [!] mismatch (expected 0x1a2b)) — 이는 손상되거나 스푸핑된 트래픽에 대한 실제 신호이며, 재조립되지 않은 단편에 대해서는 조용합니다. 이 경우 와이어 체크섬은 RootWire가 결코 재구성하지 않는 데이터그램을 대상으로 하기 때문입니다. 손상되거나 잘린 프레임은 캡처를 중단시키는 대신 진단되며, 알 수 없는 프로토콜은 체인을 우아하게 종료하고, 16계층 상한은 조작된 확장 헤더 스택이 증폭되는 것을 방지합니다 — 캡처는 네트워크가 전달하는 무엇이든 견뎌냅니다.

설치

pipx install rootwire        # or: uv tool install rootwire

또는 uv를 사용하여 클론에서 실행:

git clone https://github.com/EONRaider/RootWire.git
cd RootWire
uv sync

사용법

rootwire [-h] [-i INTERFACE] [-r FILE] [-w FILE]
         [--filter NAME_OR_EXPR] [--json] [-d] [--version]

options:
  -i, --interface   interface to capture frames from; repeat to capture on
                    several interfaces concurrently (default: all interfaces)
  -r, --read FILE   replay frames from a pcap or pcapng file instead of live
                    capture (no privileges required; mutually exclusive
                    with -i)
  -w, --write FILE  also write every captured frame to a classic pcap file
  --filter NAME_OR_EXPR
                    attach a kernel-side capture filter so only matching
                    frames reach userspace: a canned name (arp, ip6, tcp,
                    udp) or a filter expression -- protocols tcp/udp/icmp/
                    arp/ip/ip6; host/port, each optionally prefixed with
                    src/dst; and/or/not; parentheses (e.g. "tcp and port
                    80"); live capture only
  --json            one NDJSON object per frame on stdout (banner and
                    statistics stay on stderr): pipe straight into jq
  -d, --data        also display each frame's raw payload (ignored with --json)

캡처 통계 — 프레임, 바이트, 프레임/초, 손상/잘림 개수, 프로토콜별 집계 — 는 캡처가 종료될 때 stderr로 보고됩니다. Ctrl-C, SIGTERM, 또는 (-r의 경우) 파일 끝 중 어느 것이든 세 가지 모두 동일한 정상 종료를 트리거합니다. 몇 가지 유용한 조합:

sudo rootwire -i eth0 -w session.pcap             # capture and keep the evidence
sudo rootwire -i eth0 --filter tcp                # drop non-TCP in the kernel
sudo rootwire -i eth0 --filter "tcp and port 80"  # kernel-side filter expression
sudo rootwire -i eth0 -i wlan0                    # merge two interfaces into one stream
rootwire -r session.pcap                          # inspect it later, no root
rootwire -r session.pcap --json | jq .            # machine-readable analysis

라이브 캡처는 raw socket이 필요하며, Linux에서는 root (sudo rootwire -i eth0) 또는 인터프리터에 CAP_NET_RAW 권한을 부여해야 합니다. -r로 파일을 재생하는 경우에는 권한이 전혀 필요하지 않습니다. 클론에서 실행하려면 sudo .venv/bin/python -m rootwire로 실행하세요.

작동 방식

capture.py의 capture_async()는 인터페이스당 하나의 AF_PACKET 소켓에서 병합된 raw 프레임을 — 각각 도착 시 커널 자체에서 타임스탬프가 기록됨(SO_TIMESTAMPNS, 사용자 공간 시계 읽기가 아님) — (bytes, timestamp, interface) 튜플로 생성합니다. -r로 파일에서 재생하는 경우 pcap.py의 프레임을 동일한 형태로 변환한 후, 두 소스 중 어느 것이든 decoder.py에 도달하면 각 프레임의 프로토콜 체인을 불변의 DecodedFrame으로 순회합니다. 출력 — 화면 렌더러, NDJSON 스트림, pcap 작성기, 통계 수집기 — 는 하나의 작은 Output 인터페이스를 통해 모든 프레임을 소비합니다. 장시간 캡처 중에도 메모리가 일정하게 유지되는 이유와 출력을 추가하는 방법을 포함한 전체 안내는 ARCHITECTURE.md에 있습니다.

raw socket을 제외한 모든 것은 어떤 OS에서든 실행되므로, 전체 파이프라인을 통해 재생되는 실제 캡처 트래픽의 65프레임 코퍼스를 포함하는 테스트 스위트는 root나 Linux가 필요하지 않습니다:

uv run pytest

기여

버그 보고와 풀 리퀘스트를 환영합니다. CONTRIBUTING.md는 개발 환경 설정, CI가 실행하는 검사, 그리고 이곳에서 좋은 풀 리퀘스트란 어떤 것인지를 다룹니다.

법적 면책 조항

이 저장소에 포함된 코드를, 부분적으로든 전체적으로든, 사전 상호 동의 없이 대상을 공격하는 데 사용하는 것은 불법입니다. 모든 적용 가능한 지방, 주 및 연방 법률을 준수하는 것은 최종 사용자의 책임입니다.

개발자는 어떠한 책임도 지지 않으며, 이 저장소에 포함된 코드가 사고든 아니든 위협 행위자나 비인가 주체에 의해 시스템 및 관련 자원의 보안, 프라이버시, 기밀성, 무결성 및/또는 가용성을 손상시키는 수단으로 사용되는 어떤 경우에도 그로 인한 오용이나 손해에 대해 책임지지 않습니다. 이 맥락에서 "손상"이라는 용어는 이후 해당 시스템에 존재하는 알려진 또는 알려지지 않은 취약점의 악용 — 보안 통제의 구현, 인간 또는 전자적으로 가능하게 된 것을 포함하되 이에 국한되지 않음 — 을 활용하는 것으로 이해됩니다.

이 코드의 사용은 선언된 목적이 시스템의 취약점을 찾아 완화하고, 각자의 위협 모델에 정의된 악의적 행위자가 사용하는 손상 및 익스플로잇에 대한 노출을 제한하는 것인 교육 환경 또는 승인된 침투 테스트 계약과 직접적으로 관련된 상황에서만 개발자에 의해 승인됩니다.

라이선스

AGPL-3.0

도구 다운로드