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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
snitch — 네트워크 연결을 더 보기 좋게 검사하는 방법 | Kitploit
도구/GitHubGitHub/karol-broda/snitch
General Purpose UtilitiesPacket Sniffing & AnalysisNetwork MappingInformation GatheringDNS Analysis
GitHubkarol-broda/snitch

snitch

네트워크 연결을 더 보기 좋게 검사하는 방법

저장소 보기
3.5k55123개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

snitch

사용자에게 더 친숙한 ss / netstat입니다. 깔끔한 TUI 또는 스타일이 적용된 테이블로 네트워크 연결을 확인하세요.

snitch demo

설치

homebrew

root@kitploit:~
brew install snitch

@bevanjkay 님이 snitch를 homebrew-core에 추가해 주셨습니다.

go

root@kitploit:~
go install github.com/karol-broda/snitch@latest

nixpkgs

root@kitploit:~
nix-env -iA nixpkgs.snitch

@DieracDelta 님이 snitch를 nixpkgs에 추가해 주셨습니다.

nixos / nix (flake)

root@kitploit:~
# 시도해 보기
nix run github:karol-broda/snitch

# 프로필에 설치
nix profile install github:karol-broda/snitch

# 또는 flake inputs에 추가
{
  inputs.snitch.url = "github:karol-broda/snitch";
}
# 사용: inputs.snitch.packages.${system}.default

home-manager (flake)

snitch를 flake inputs에 추가하고 home-manager 모듈을 가져오세요:

root@kitploit:~
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    home-manager.url = "github:nix-community/home-manager";
    snitch.url = "github:karol-broda/snitch";
  };

  outputs = { nixpkgs, home-manager, snitch, ... }: {
    homeConfigurations."user" = home-manager.lib.homeManagerConfiguration {
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      modules = [
        snitch.homeManagerModules.default
        {
          programs.snitch = {
            enable = true;
            # 선택 사항: nixpkgs 대신 flake의 패키지 사용
            # package = snitch.packages.x86_64-linux.default;
            settings = {
              defaults = {
                theme = "catppuccin-mocha";
                interval = "2s";
                resolve = true;
              };
            };
          };
        }
      ];
    };
  };
}

사용 가능한 테마: ansi, catppuccin-mocha, catppuccin-macchiato, catppuccin-frappe, catppuccin-latte, gruvbox-dark, gruvbox-light, dracula, nord, tokyo-night, tokyo-night-storm, tokyo-night-light, solarized-dark, solarized-light, one-dark,

arch linux (aur)

root@kitploit:~
# yay 사용
yay -S snitch-bin

# paru 사용
paru -S snitch-bin

셸 스크립트

root@kitploit:~
curl -sSL https://raw.githubusercontent.com/karol-broda/snitch/master/install.sh | sh

설치 위치는 ~/.local/bin (가능한 경우) 또는 /usr/local/bin입니다. 다음과 같이 덮어쓸 수 있습니다:

root@kitploit:~
curl -sSL https://raw.githubusercontent.com/karol-broda/snitch/master/install.sh | INSTALL_DIR=~/bin sh

macOS: 설치 스크립트는 자동으로 격리 속성(com.apple.quarantine)을 제거하여 게이트키퍼 경고 없이 실행할 수 있게 합니다. 비활성화하려면 KEEP_QUARANTINE=1을 설정하세요.

docker

GitHub Container Registry에서 사전 빌드된 OCI 이미지를 사용할 수 있습니다:

root@kitploit:~
# ghcr.io에서 가져오기
docker pull ghcr.io/karol-broda/snitch:latest          # alpine (기본값)
docker pull ghcr.io/karol-broda/snitch:latest-alpine   # alpine (~17MB)
docker pull ghcr.io/karol-broda/snitch:latest-scratch  # 최소, 바이너리만 (~9MB)
docker pull ghcr.io/karol-broda/snitch:latest-debian   # debian trixie
docker pull ghcr.io/karol-broda/snitch:latest-ubuntu   # ubuntu 24.04

# 또는 특정 버전 사용
docker pull ghcr.io/karol-broda/snitch:0.2.0-alpine

또는 nix flake를 통해 로컬에서 빌드:

root@kitploit:~
nix build github:karol-broda/snitch#snitch-alpine
docker load < result

컨테이너 실행:

root@kitploit:~
# 기본 사용 - 호스트 소켓은 보지만 프로세스 이름은 안 보임
docker run --rm --net=host snitch:latest ls

# 전체 정보 - PID, 프로세스 이름, 사용자 포함
docker run --rm --net=host --pid=host --cap-add=SYS_PTRACE snitch:latest ls
플래그목적
--net=host호스트 네트워크 네임스페이스 공유 (호스트 연결을 보려면 필요)
--pid=host호스트 PID 네임스페이스 공유 (프로세스 정보에 필요)
--cap-add=SYS_PTRACE/proc/<pid>에서 프로세스 세부 정보 읽기

참고: CAP_NET_ADMIN 및 CAP_NET_RAW는 필요하지 않습니다. snitch는 특별한 네트워크 권한이 필요 없는 /proc/net/*에서 읽어옵니다.

바이너리

릴리즈 페이지에서 다운로드:

  • linux: snitch_<버전>_linux_<아키텍처>.tar.gz 또는 .deb/.rpm/.apk
  • macos: snitch_<버전>_darwin_<아키텍처>.tar.gz
root@kitploit:~
tar xzf snitch_*.tar.gz
sudo mv snitch /usr/local/bin/

macOS: "개발자를 확인할 수 없어 열 수 없습니다"라는 차단 메시지가 뜨면 다음을 실행하세요:

root@kitploit:~
xattr -d com.apple.quarantine /usr/local/bin/snitch

빠른 시작

root@kitploit:~
snitch              # 대화형 TUI 실행
snitch -l           # 리스닝 소켓만 표시하는 TUI
snitch ls           # 스타일이 적용된 테이블 출력 후 종료
snitch ls -l        # 리스닝 소켓만
snitch ls -t -e     # TCP 연결 완료
snitch ls -p        # 일반 출력 (파싱 가능)

명령어

snitch / snitch top

실시간 업데이트 연결 목록이 있는 대화형 TUI.

root@kitploit:~
snitch                  # 모든 연결
snitch -l               # 리스닝만
snitch -t               # TCP만
snitch -e               # 연결 완료만
snitch -i 2s            # 2초 갱신 간격

키 바인딩:

root@kitploit:~
j/k, ↑/↓      탐색
g/G           맨 위/맨 아래
t/u           TCP/UDP 토글
l/e/o         리스닝/연결 완료/기타 토글
s/S           정렬 순환 / 역순
w             프로세스 감시 (강조)
W             모든 감시 지우기
K             프로세스 종료 (확인)
/             검색
enter         연결 세부 정보
?             도움말
q             종료

snitch ls

일회성 테이블 출력. 출력이 터미널 높이를 초과하면 자동으로 페이저를 사용합니다.

root@kitploit:~
snitch ls               # 스타일 테이블 (기본값)
snitch ls -l            # 리스닝만
snitch ls -t -l         # TCP 리스너
snitch ls -e            # 연결 완료만
snitch ls -p            # 일반/파싱 가능 출력
snitch ls -o json       # JSON 출력
snitch ls -o csv        # CSV 출력
snitch ls -n            # 숫자 (DNS 해석 없음)
snitch ls --no-headers  # 헤더 생략

snitch json

스크립팅용 JSON 출력.

root@kitploit:~
snitch json
snitch json -l

snitch watch

일정 간격으로 JSON 프레임 스트리밍.

root@kitploit:~
snitch watch -i 1s | jq '.count'
snitch watch -l -i 500ms

snitch upgrade

업데이트 확인 및 인플레이스 업그레이드.

root@kitploit:~
snitch upgrade              # 업데이트 확인
snitch upgrade --yes        # 자동 업그레이드
snitch upgrade -v 0.1.7     # 특정 버전 설치

필터

단축 플래그는 모든 명령어에서 작동합니다:

root@kitploit:~
-t, --tcp           TCP만
-u, --udp           UDP만
-l, --listen        리스닝 소켓
-e, --established   연결 완료
-4, --ipv4          IPv4만
-6, --ipv6          IPv6만

이름 해석

DNS 및 서비스 이름 해석 옵션:

root@kitploit:~
--resolve-addrs     IP 주소를 호스트명으로 해석 (기본값: true)
--resolve-ports     포트 번호를 서비스 이름으로 해석
--no-cache          DNS 캐시 비활성화 (강제 새 조회)

DNS 조회는 성능을 위해 병렬로 수행되며 캐시됩니다. 캐시를 우회하려면 --no-cache를 사용하세요. 디버깅이나 주소가 자주 변경되는 환경에 유용합니다.

더 구체적인 필터링을 위해 ls와 함께 key=value 구문을 사용하세요:

root@kitploit:~
snitch ls proto=tcp state=listen
snitch ls pid=1234
snitch ls proc=nginx
snitch ls lport=443
snitch ls contains=google

출력

스타일이 적용된 테이블 (기본값):

root@kitploit:~
  ╭─────────────────┬───────┬───────┬─────────────┬─────────────────┬────────╮
  │ PROCESS         │ PID   │ PROTO │ STATE       │ LADDR           │ LPORT  │
  ├─────────────────┼───────┼───────┼─────────────┼─────────────────┼────────┤
  │ nginx           │ 1234  │ tcp   │ LISTEN      │ *               │ 80     │
  │ postgres        │ 5678  │ tcp   │ LISTEN      │ 127.0.0.1       │ 5432   │
  ╰─────────────────┴───────┴───────┴─────────────┴─────────────────┴────────╯
  2 connections

일반 출력 (-p):

root@kitploit:~
PROCESS    PID    PROTO   STATE    LADDR       LPORT
nginx      1234   tcp     LISTEN   *           80
postgres   5678   tcp     LISTEN   127.0.0.1   5432

설정

선택적 설정 파일 위치: ~/.config/snitch/snitch.toml:

root@kitploit:~
[defaults]
numeric = false      # 이름 해석 비활성화
dns_cache = true     # DNS 조회 캐시 (false로 설정하여 비활성화)
theme = "auto"       # 색상 테마: auto, dark, light, mono

[tui]
remember_state = false   # 세션 간 뷰 옵션 기억

뷰 옵션 기억하기

remember_state = true일 때 TUI는 다음을 저장하고 복원합니다:

  • 필터 토글 (TCP/UDP, 리스닝/연결 완료/기타)
  • 정렬 필드 및 방향
  • 주소 및 포트 해석 설정

상태는 $XDG_STATE_HOME/snitch/tui.json에 저장됩니다 (기본값: ~/.local/state/snitch/tui.json).

CLI 플래그는 항상 저장된 상태보다 우선합니다.

환경 변수

root@kitploit:~
SNITCH_THEME=dark          # 기본 테마 설정
SNITCH_RESOLVE=0           # DNS 해석 비활성화
SNITCH_DNS_CACHE=0         # DNS 캐싱 비활성화
SNITCH_NO_COLOR=1          # 색상 출력 비활성화
SNITCH_CONFIG=/path/to     # 사용자 설정 파일 경로

요구 사항

  • Linux 또는 macOS
  • Linux: /proc/net/*에서 읽어오며, 전체 프로세스 정보를 위해 root 또는 CAP_NET_ADMIN 필요
  • macOS: 시스템 API 사용, 전체 프로세스 정보를 위해 sudo가 필요할 수 있음
도구 다운로드
mono