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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SuricataLog — Suricata eve.json 로그를 CLI 도구로 파싱, 필터링, 시각화하여 알림, 흐름, DNS 및 페이로드를 처리합니다. Suricata 학습 및 규칙 테스트를 위한 튜토리얼을 포함합니다. | Kitploit
도구/GitHubGitHub/josevnz/suricatalog
Network SecurityIntrusion DetectionLearning & EducationLog Analysis
GitHubjosevnz/suricatalog

SuricataLog

Suricata eve.json 로그를 CLI 도구로 파싱, 필터링, 시각화하여 알림, 흐름, DNS 및 페이로드를 처리합니다. Suricata 학습 및 규칙 테스트를 위한 튜토리얼을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SuricataLog

Downloads

Suricata를 사용하는 방법을 배우기 시작했을 때, eve.json 파일을 검사할 도구가 필요하다는 것을 금방 알게 되었습니다. 대부분의 튜토리얼과 문서에서는 다음과 같은 작업을 수행하기 위해 스택을 설치하라고 제안했습니다:

  1. 로그를 중앙 위치에 저장
  2. 이벤트, 특히 경고를 정규화하고 보강
  3. 프론트엔드를 사용하여 데이터를 자세히 살펴보기

이는 매우 유용하지만, 단순히 이벤트를 빠르게 검사하고 싶다면 어떨까요?

조만간 다음과 같은 작업을 하다가 지루해 죽을 것입니다:

cat eve.json | jq -r -c 'select(.event_type=="alert")|.payload'| base64 --decode

SuricataLog는 Suricata 로그 파일(예: /var/log/suricata/eve.json)을 파싱하고 표시하기 위한 도구/스크립트 모음입니다.

Eve JSON 형식은 그다지 복잡하지 않아서, 홈 네트워크 분석에 가장 유용할 것이라고 생각하는 기능을 가진 몇 가지 스크립트를 작성했습니다.

보너스로, Suricata에 대해 배우고 테스트하는 방법을 익힐 수 있는 튜토리얼로 학습 경험을 작성했습니다.

Pypi에서 설치

Pypi.org에서 설치

uv pip install SuricataLog

소스에서 설치

git clone [email protected]:josevnz/SuricataLog.git
cd SuricataLog
uv build
uv pip install dist/suricatalog-1.1.6-py3-none-any.whl

개발자 설치

기여하고 싶으신가요? 아니면 버그를 발견해서 패치를 제출할 수 있다고 생각하시나요? 좋습니다! 개발 모드에서 실행하기 위해 수행할 수 있는 작업은 다음과 같습니다:

git clone [email protected]:josevnz/SuricataLog.git
cd SuricataLog
uv build
uv sync --dev
uv pip install --editable .

그 후 단위 테스트를 실행하는 것은 매우 쉽습니다:

(SuricataLog) [josevnz@dmaf5 SuricataLog]$ python -m unittest test/*.py
.........
----------------------------------------------------------------------
Ran 9 tests in 0.334s

OK

단위 테스트가 실패하면, 이곳이 문제를 수정할 첫 번째 장소일 가능성이 높습니다.

또한 textualize 콘솔을 실행하고 콘솔 메시지를 확인하는 것을 권장합니다:

# textual console
textual console --exclude SYSTEM --exclude EVENT

그런 다음 다른 터미널에서:

textual run --dev --command eve_log --timestamp '2015-01-01 10:41:21.642899' test/eve.json

이렇게 하면 콘솔에 디버그 메시지까지 출력됩니다 (콘솔을 '--exclude DEBUG'로 다시 시작하면 이를 제외할 수 있습니다)

Docker 이미지 생성

자세한 내용은 DOCKER.md를 확인하세요.

스크립트 실행

가상 환경에 모든 것이 설치되면 스크립트를 호출할 수 있어야 합니다.

가상 환경을 활성화한 후 자동 완성을 사용하여 어떤 애플리케이션이 설치되었는지 확인할 수 있습니다:

eve_[tab][tab]

Bash 자동 완성 확장을 설치하면 플래그에 대한 몇 가지 제안도 받을 수 있습니다.

간단한 EVE 로그 파서

직접 확인하는 것이 좋습니다 (지원되는 옵션을 알아보려면 --help를 사용하세요)

테이블 형식:

suricatalog-eve_log-table.png

eve_log --timestamp '2015-01-01 10:41:21.642899' --formats TABLE test/eve.json

eve_json.py를 사용한 미리 준비된 보고서

(suricatalog) [josevnz@dmaf5 SuricataLog]$ eve_json --help
usage: eve_json [-h] [--nxdomain | --payload | --flow | --netflow NETFLOW | --useragent] eve [eve ...]

This script is inspired by the examples provided on [15.1.3. Eve JSON ‘jq’ Examples](https://suricata.readthedocs.io/en/suricata-6.0.0/output/eve/eve-json-
examplesjq.html) A few things: * The output uses colorized JSON

positional arguments:
  eve                Path to one or more /var/log/suricata/eve.json file to parse.

optional arguments:
  -h, --help         show this help message and exit
  --nxdomain         Show DNS records with NXDOMAIN
  --payload          Show alerts with a printable payload
  --flow             Aggregated flow report per protocol and destination port
  --netflow NETFLOW  Get the netflow for a given IP address
  --useragent        Top user agent in HTTP traffic

아래 몇 가지 예를 살펴보세요:

NXDOMAIN

suricatalog-eve_json-nxdomain.png

eve_json --nxdomain test/eve.json

PAYLOAD

suricatalog-eve_json-payload.png

eve_json --payload ~/Downloads/eve.json

FLOW

suricatalog_eve_json-flow.png

eve_json --flow test/eve_udp_flow.json

NETFLOW

suricatalog_eve_json-netflow.png

eve_json --netflow 224.0.0.251 test/eve_udp_flow.json

USERAGENT

suricatalog-eve_json-useragent.png

eve_json --useragent test/eve.json

브라우저에서 eve_* 애플리케이션 실행

Suricata eve server, running eve* applications on a browser!

eve_server 래퍼를 사용하여 브라우저에서 Suricata Log 애플리케이션을 실행할 수 있습니다:

# Show the flow report on a eve.json file
eve_server --application eve_json -- --flow ~/eve.json

# Show NX domain report
eve_server --application eve_json -- --nxdomain ~/eve.json

# Inspect the eve.json records
eve_server --applications eve_log -- ~/eve.json

'--'를 전달하여 이 옵션이 호출하려는 기본 eve_*에 속한다는 것을 서버에 알려야 합니다.

Docker에서 실행

Docker 컨테이너에서 SuricataLog를 실행하는 것도 가능합니다. 자세한 내용은 DOCKER.md를 참조하세요.

uv로 실행

uv가 있다면 다음과 같이 하면 됩니다:

uvx --from SuricataLog eve_log /var/log/suricata/eve.json
uvx --from SuricataLog eve_json --useragent /var/log/suricata/eve.json
uvx --from SuricataLog eve_server --application eve_json -- --flow /var/log/suricata/eve.json

이해하셨을 것입니다.

Bash 자동 완성

8.6 Programmable Completion을 최대한 따르려고 노력했습니다.

가장 일반적인 플래그에 대한 자동 완성을 제공했습니다. 스크립트 중 하나에 '--help'를 전달하여 모든 플래그를 확인할 수 있습니다.

자동 완성 명령 설치

모든 SuricataLog 스크립트에 대한 Bash 자동 완성을 설치할 수 있습니다. 'eve_autocomplete'를 실행하고 지시를 따르세요:

eve_autocomplete --help

지원 버전

저는 이 프로젝트를 여가 시간에 작업하며, 세상의 모든 Linux/Python 조합을 지원할 수는 없습니다. 이것이 현재 제 테스트 환경이며, 예고 없이 변경될 수 있습니다.

SuricataLogSupportedOSPythonSuricata
<= 0.8NONA< 3.86.04
0.9+NOfedora 37=> 3.11.46.04
0.9+NOArmbian 23.02.2 Jammy=> 3.10.66.04
0.9+NOUbuntu 20.04.4 LTS (Focal Fossa)=> 3.8.106.04
1.0.3+YESfedora 40=> 3.11.47.0.6

다음을 환영합니다:

  • 새로운 기능과 버그 수정이 포함된 패치를 제출하세요.
  • 버그 보고서를 열어주세요. 가능한 한 자세히 작성해 주세요. 그렇지 않으면 닫을 수밖에 없습니다.

튜토리얼

  • Suricata, RaspberryPI4 and Python to secure your home network
  • Using SuricataLog to analyze your events
도구 다운로드