Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
stenographer — Stenographer는 모든 패킷을 디스크에 신속하게 스풀(spool)한 다음, 해당 패킷들의 하위 집합에 대해 간단하고 빠른 접근을 제공하는 것을 목표로 하는 패킷 캡처 솔루션입니다. 토론/공지: stenographer@googlegroups.com | Kitploit
도구/GitHubGitHub/google/stenographer
Packet Sniffing & AnalysisNetwork ForensicsForensicsNetwork SecurityIntrusion DetectionIncident ResponseArchived
GitHubgoogle/stenographer

stenographer

Stenographer는 모든 패킷을 디스크에 신속하게 스풀(spool)한 다음, 해당 패킷들의 하위 집합에 대해 간단하고 빠른 접근을 제공하는 것을 목표로 하는 패킷 캡처 솔루션입니다. 토론/공지: [email protected]

저장소 보기
1.8k2335년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Stenographer

개요

Stenographer는 전체 패킷 캡처 유틸리티로, 침입 탐지 및 사고 대응 목적으로 디스크에 패킷을 버퍼링합니다. 고성능 NIC-디스크 패킷 쓰기 구현을 제공하며, 디스크가 가득 차면 해당 파일을 삭제하고, 특정 패킷 세트를 빠르고 쉽게 읽어올 수 있는 방법을 제공합니다.

다음과 같은 용도로 설계되었습니다:

  • 디스크에 매우 빠르게 패킷 쓰기 (멀티코어, 멀티디스크 시스템에서 ~10Gbps)
  • 가능한 많은 기록 저장 (디스크 사용량 관리, 트래픽이 느릴 때 더 오래 저장, 디스크 한계에 도달하면 가장 오래된 패킷 삭제)
  • 분석가 요구에 따라 디스크에서 매우 적은 비율(<1%)의 패킷 읽기

다음과 같은 용도로 설계되지 않았습니다:

  • 복잡한 패킷 처리 (TCP 스트림 재조립 등)

  • 이 작업을 하지 않기 때문에 빠릅니다. 최소한의 단일 패킷 처리만으로도 인덱싱만으로 약 1Gbps를 처리하는 데 단일 코어의 75% 이상을 사용할 수 있습니다.

  • 디스크에서 데이터를 다시 읽어서 처리하는 것도 작동하지 않습니다: 다음 항목 참조.

  • 많은 양의 패킷(쓰여진 패킷의 1% 초과) 읽기

  • 여기서 핵심 개념은 디스크 읽기가 디스크 쓰기와 경쟁한다는 점입니다… 디스크 속도의 90%로 쓸 수 있지만, 이는 읽기에 디스크 시간의 10%만 남깁니다. 또한, 우리는 매우 순차적인 데이터를 쓰고 있어 디스크가 빠르게 처리하는 데 능숙하지만, 일반적으로 많은 탐색이 필요한 희소 데이터를 읽는 것은 디스크가 느리게 처리합니다.

자세한 내용은 stenographer의 디자인에 대한 논의를 위해 **DESIGN.md**를 확인하거나, 머신에 stenographer를 설치하는 방법은 **INSTALL.md**를 읽어보세요.

쿼리

쿼리 언어

사용자는 매우 간단한 쿼리 언어로 stenographer에 패킷을 요청합니다. 이 언어는 BPF의 간단한 하위 집합이며, 다음과 같은 프리미티브를 포함합니다:

root@kitploit:~
host 8.8.8.8          # 단일 IP 주소 (호스트 이름은 허용되지 않음)
net 1.0.0.0/8         # CIDR로 네트워크
net 1.0.0.0 mask 255.255.255.0  # 마스크로 네트워크
port 80               # 포트 번호 (UDP 또는 TCP)
ip proto 6            # IP 프로토콜 번호 6
icmp                  # 'ip proto 1'과 동일
tcp                   # 'ip proto 6'과 동일
udp                   # 'ip proto 17'과 동일

# Stenographer 특정 시간 추가:
before 2012-11-03T11:05:00Z      # 특정 시간 이전의 패킷 (UTC)
after 2012-11-03T11:05:00-07:00  # 특정 시간 이후의 패킷 (시간대 포함)
before 45m ago        # 상대 시간 이전의 패킷
after 3h ago         # 상대 시간 이후의 패킷

참고: 상대 시간은 위에 표시된 대로 시간 또는 분의 정수 값으로 측정되어야 합니다.

프리미티브는 and/&& 및 or/||로 결합할 수 있으며, 이들은 동일한 우선순위를 가지며 왼쪽에서 오른쪽으로 평가됩니다. 괄호를 사용하여 그룹화할 수도 있습니다.

root@kitploit:~
(udp and port 514) or (tcp and port 8080)

Stenoread CLI

stenoread 명령줄 스크립트는 Stenographer에서 패킷을 가져와 분석가에게 사용 가능한 형식으로 제공하는 작업을 자동화합니다. stenographer에 원시 패킷을 요청한 후 tcpdump를 통해 실행하여 더욱 풍부한 포맷팅/필터링 경험을 제공합니다. stenoread의 첫 번째 인수는 stenographer 쿼리입니다(위의 'Query Language' 참조). 다른 모든 인수는 tcpdump에 전달됩니다. 예를 들어:

root@kitploit:~
# Request all packets from IP 1.2.3.4 port 6543, then do extra filtering by
# TCP flag, which typical stenographer does not support.
$ stenoread 'host 1.2.3.4 and port 6543' 'tcp[tcpflags] & tcp-push != 0'

# Request packets on port 8765, disabling IP resolution (-n) and showing
# link-level headers (-e) when printing them out.
$ stenoread 'port 8765' -n -e

# Request packets for any IPs in the range 1.1.1.0-1.1.1.255, writing them
# out to a local PCAP file so they can be opened in Wireshark.
$ stenoread 'net 1.1.1.0/24' -w /tmp/output_for_wireshark.pcap

다운로드

소스 코드를 다운로드하려면 Go를 로컬에 설치한 후 다음을 실행하세요:

root@kitploit:~
$ go get github.com/google/stenographer

Go가 stenographer가 의존하는 모든 Go 라이브러리를 다운로드하고 설치합니다. stenotype을 빌드하려면 stenotype 디렉토리로 이동하여 make를 실행하세요. 다음 Ubuntu 패키지(또는 다른 Linux 배포판의 해당 패키지)를 설치해야 할 수도 있습니다:

  • libaio-dev
  • libleveldb-dev
  • libsnappy-dev
  • g++
  • libcap2-bin
  • libseccomp-dev

의무적 세부 사항

이것은 공식 Google 제품이 아니며(실험적이거나 기타), 단지 Google이 소유한 코드일 뿐입니다.

이 코드는 Google 사용자를 감시하기 위한 것이 아닙니다. 그 목적은 내부 모니터링 기능을 강화하여 네트워크 보안을 향상시키는 것입니다.

도구 다운로드