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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
tcpreplay — 캡처된 네트워크 트래픽을 임의의 속도로 편집하고 재생 — *NIX 및 Windows용 pcap 도구 모음입니다. | Kitploit
도구/GitHubGitHub/appneta/tcpreplay
Packet Sniffing & AnalysisVulnerability AnalysisIDS/IPS EvasionNetwork SecurityPenetration Testing
GitHubappneta/tcpreplay

tcpreplay

캡처된 네트워크 트래픽을 임의의 속도로 편집하고 재생 — *NIX 및 Windows용 pcap 도구 모음입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

Tcpreplay

Test Status Coverity Scan Build Status CodeQL cpp-linter Website Release

Tcpreplay은 [tcpdump]와 [Wireshark] 같은 도구로 미리 캡처한 네트워크 트래픽을 편집하고 재생하기 위한 [GPLv3] 라이선스 유틸리티 모음으로, UNIX(및 [Cygwin] 환경의 Windows)에서 사용할 수 있습니다. 트래픽을 클라이언트 또는 서버로 분류하고, Layer 2/3/4 헤더를 재작성한 뒤, 스위치, 라우터, 방화벽, NIDS 및 IPS를 통해 네트워크로 다시 재생합니다. 속도는 아주 느린 속도부터 회선 최대 속도까지 지원합니다. Tcpreplay는 스니핑 장치와 인라인 장치 모두를 테스트할 수 있도록 단일 NIC 모드와 이중 NIC 모드를 모두 지원합니다.

Tcpreplay는 수많은 방화벽, IDS, IPS, NetFlow 및 기타 네트워킹 벤더, 기업, 대학, 연구소, 오픈 소스 프로젝트에서 사용됩니다. 여러분의 조직에서 Tcpreplay를 사용하고 있다면, 어떤 조직인지 그리고 어떤 용도로 사용하는지 알려 주세요. 중요한 기능의 우선순위를 계속 정하는 데 도움이 됩니다.

4.0 이후 Tcpreplay는 [IP Flow][flow]/[NetFlow] 어플라이언스 테스트를 특별히 겨냥합니다. 정확한 고속 재생 타이밍과 결과 보고, 초당 플로우(fps) 통계, 그리고 플로우 제품의 타임아웃 설정을 튜닝하기 위한 플로우 만료 분석을 제공하며, pcap 파일의 플로우 크기에 따라 초당 수십만 개의 플로우까지 처리할 수 있습니다.

📖 전체 문서는 https://tcpreplay.appneta.com에 있습니다 — 시작 가이드, 도구별 페이지, 활용 레시피, 이 모음의 배경 개념, 매뉴얼 페이지, FAQ를 제공합니다. 이 README는 간단한 둘러보기이며, 사이트가 참조 문서입니다.

  • 유틸리티 모음
  • 4.6의 새로운 기능
  • 릴리스 설치
  • 소스에서 빌드
    • Autotools
    • CMake
    • 성능: netmap, AF_XDP, io_uring
    • 원시 IP(L3) 인터페이스로 재생
    • libtcpreplay C 라이브러리
    • 테스트 스위트 실행
  • 도움 받기
  • 기여하기
  • 라이선스
  • 저자

유틸리티 모음

네트워크 재생:

  • tcpreplay / tcpreplay-edit — pcap 파일을 임의의 속도로 네트워크에 재생하며, 선택적으로 패킷을 즉석에서 편집하거나(tcpreplay-edit) IP 주소를 무작위화합니다(tcpreplay)
  • tcpliveplay — 캡처한 TCP 세션을 원격 서버가 실제로 응답하는 방식으로 라이브 네트워크에서 재생합니다(Yazan Siam 기여, [Cisco] 후원). 애플리케이션까지 전체 네트워크 스택을 테스트하기 위한 것으로, 일반 tcpreplay는 보통 Layer 2에 머뭅니다.

Pcap 파일 편집기 및 유틸리티:

  • tcpprep — 패킷을 클라이언트 또는 서버로 분류하고 tcpreplay/tcprewrite가 사용하는 캐시 파일을 작성하는 다중 패스 pcap 전처리기
  • tcprewrite — pcap 파일의 TCP/IP 및 Layer 2 패킷 헤더를 재작성합니다
  • tcpbridge — tcprewrite의 재작성 로직을 사용하여 두 네트워크 세그먼트를 브리징합니다
  • tcpcapinfo — 원시 pcap 파일 디코더 및 디버거

4.6의 새로운 기능

  • CMake가 이제 기본이자 권장되는 빌드 시스템입니다 (릴리스 tarball에는 여전히 autotools가 사용됩니다)
  • io_uring 및 AF_XDP 고속 경로 패킷 주입이 기존 netmap 지원과 함께 제공됩니다 — 둘 다 netmap보다 설정이 적게 필요하고 패치된 드라이버가 필요하지 않습니다
  • libtcpreplay, 재생 엔진을 자체 프로그램에 직접 임베드하기 위한 정적 C 라이브러리
  • WireGuard 및 tun 장치와 같은 원시 IP(L3) 인터페이스로의 재생에 대한 자동 지원

전체 릴리스 이력은 CHANGELOG를 참조하세요.

릴리스 설치

GitHub downloads SourceForge downloads

최신 릴리스 tarball을 다운로드한 후 (SourceForge에도 미러링되어 있음), 다음을 실행하세요:

tar xf tcpreplay-*.tar.xz && cd tcpreplay-*
./configure && make && sudo make install

릴리스 tarball에는 미리 생성된 CLI 파서와 man 페이지가 포함되어 있으므로, C 컴파일러와 libpcap 외에는 아무것도 필요하지 않습니다. git 체크아웃에서 작업하거나 CMake, netmap, AF_XDP 또는 io_uring 지원을 원하는 경우에만 아래의 소스에서 빌드를 참조하세요.

플랫폼별 자세한 지침은 tarball에 포함된 INSTALL 파일에 있습니다 (여기의 docs/INSTALL과 동일한 내용).

소스에서 빌드

git 체크아웃에서 빌드하려면 *_opts.def 파일로부터 CLI 옵션 파서와 man 페이지를 생성하기 위해 python3와 asciidoctor(어느 빌드 시스템이든)가 필요합니다. 이 용도로 4.6에서 GNU AutoGen을 대체했습니다 (AutoGen은 EOL이지만, 이것들은 아닙니다). AutoGen 자체는 여전히 하나의 내부 헤더(src/tcpedit/tcpedit_stub.h)에만 필요합니다 — scripts/autoopts/README.md를 참조하세요. 릴리스 tarball을 빌드할 때는 이 중 어느 것도 필요하지 않으며, 이미 생성된 상태로 제공됩니다.

Autotools

./autogen.sh   # only needed once, from a git checkout
./configure
make
sudo make install

CMake (권장)

4.6부터 이 제품군은 CMake(3.16+)로도 빌드할 수 있으며, Tcpreplay를 컴파일하는 권장되고 주요한 방법입니다. Autotools는 여전히 제공되며 릴리스 tarball에 사용되지만, 결국 폐기될 예정이므로 새로운 스크립트/패키징은 CMake를 대상으로 해야 합니다.

cmake -B build
cmake --build build
sudo cmake --install build

./configure의 모든 플래그에는 CMake 대응 항목이 있습니다. CMakeLists.txt 상단의 표를 참조하세요. 몇 가지 예시는 다음과 같습니다:

# debug build with support for the -d option
cmake -B build -DENABLE_DEBUG=ON

# AddressSanitizer or ThreadSanitizer build
cmake -B build -DENABLE_ASAN=ON
cmake -B build -DENABLE_TSAN=ON

# custom libpcap install, static linking, custom tcpdump path
cmake -B build -DWITH_LIBPCAP=/usr/local/opt/libpcap \
               -DENABLE_STATIC_LINK=ON -DWITH_TCPDUMP=/usr/sbin/tcpdump

# force a specific packet injection method
cmake -B build -DFORCE_INJECT_PCAP_SENDPACKET=ON

# several configurations side by side
cmake -B build-debug -DENABLE_DEBUG=ON
cmake -B build-release

cmake --build build --target manpages는 man 페이지를 다시 생성합니다 (python3 + asciidoctor). 단순한 cmake --build build는 man 페이지를 건드리지 않습니다. CMake Tools 확장을 사용하는 VS Code 사용자는 저장소 폴더를 열고 프롬프트가 표시되면 configure preset을 선택하기만 하면 됩니다.

성능: netmap, AF_XDP, io_uring

기본 소켓 경로가 충분히 빠르지 않다면, Tcpreplay에는 패킷을 NIC로 직접 전송하는 오버헤드가 더 낮은 세 가지 방법이 있습니다. 대략 다음 순서대로 시도해 보세요 — io_uring은 설정이 가장 적게 필요하고, netmap은 가장 많이 필요합니다:

io_uring (Linux, liburing-dev 필요 — 패치된 드라이버 불필요)

liburing-dev가 설치되어 있고 io_uring을 지원하는 커널을 사용하는 Linux 시스템에서 감지됩니다. 패킷은 여전히 일반 PF_PACKET raw 소켓을 통해 나가지만, 전송은 io_uring 큐를 통해 비동기적으로 제출되어 패킷당 시스템 호출 오버헤드를 줄입니다.

sudo apt-get install liburing-dev
cmake -B build && cmake --build build && sudo cmake --install build
sudo tcpreplay -i eth0 --io-uring test.pcap
AF_XDP (Linux, libxdp-dev/libbpf-dev + eBPF 지원 드라이버 필요)

libxdp-dev와 libbpf-dev가 설치된 Linux 시스템에서 감지됩니다. 선택하면 (--xdp), 커널 네트워크 스택을 우회하고 패킷이 eBPF가 활성화된 드라이버를 통해 직접 전송됩니다 — 드라이버를 패치하지 않고도 상용 트래픽 생성기에 필적하는, 일반 어댑터에서의 완전한 라인 레이트를 제공합니다.

sudo apt-get install libxdp-dev libbpf-dev
cmake -B build && cmake --build build && sudo cmake --install build
sudo tcpreplay -i eth0 --xdp test.pcap
netmap (Linux/BSD, netmap 패치가 적용된 네트워크 드라이버 필요 — 가장 침습적이며, 최고 상한)

[netmap]은 재생이 진행되는 동안 네트워크 드라이버를 우회하고 NIC의 TX 버퍼에 직접 기록합니다. 이는 세 가지 옵션 중 가장 침습적입니다 — 활성화된 동안 해당 인터페이스의 네트워크 스택이 꺼지므로 SSH로 접속한 인터페이스에서 테스트하지 마십시오 — 하지만 지원되는 하드웨어에서는 최고 처리량 상한을 가집니다.

[프로젝트 페이지][netmap]에서 netmap을 다운로드하여 설치하십시오. /usr/src 또는 /usr/local/src에 압축을 풀었다면 자동으로 인식됩니다. 그렇지 않으면 빌드 시 해당 경로를 지정하십시오:

도구 다운로드