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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
network-monitor — Rust와 GTK4로 구축된 실시간 네트워크 연결 모니터링 도구로, 최신 그래픽 인터페이스에서 활성 연결과 실시간 I/O 통계를 표시합니다. | Kitploit
도구/GitHubGitHub/grigio/network-monitor
General Purpose UtilitiesPacket Sniffing & AnalysisNetwork MappingInformation GatheringPrivacy
GitHubgrigio/network-monitor

network-monitor

Rust와 GTK4로 구축된 실시간 네트워크 연결 모니터링 도구로, 최신 그래픽 인터페이스에서 활성 연결과 실시간 I/O 통계를 표시합니다.

저장소 보기
28452422시간 2분 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Network Monitor

Linux의 GNOME 데스크톱에서 실행 중인 Network Monitor 데모

Rust와 GTK4로 구축된 실시간 네트워크 연결 모니터링 도구로, 현대적인 그래픽 인터페이스에서 실시간 I/O 통계와 함께 활성 연결을 표시합니다.

rust dependency status

기능

  • 실시간 모니터링: 활성 네트워크 연결을 지속적으로 모니터링
  • I/O 통계: 각 연결의 실시간 업로드/다운로드 속도 표시
  • 프로세스 식별: 각 연결과 관련된 프로그램 및 PID 표시
  • 프로세스 작업: 행을 마우스 오른쪽 버튼으로 클릭하여 값/명령을 복사하거나 연결을 소유한 프로세스를 종료 (Terminate 또는 Force Kill, 확인 포함)
  • 선택 유지: 선택된 행은 새로 고침 후에도 하이라이트를 유지하며 상태 표시줄에 표시됨
  • 현대적인 GTK4 UI: Libadwaita 스타일링이 적용된 깔끔하고 반응성 좋은 그래픽 인터페이스
  • 터미널 UI (TUI): 동일한 모니터링 기능을 갖춘 대화형 터미널 인터페이스
  • 주소 해석: 일반적인 주소(localhost, any, mDNS)를 단순화
  • 연결 필터링: 더 깔끔한 출력을 위해 localhost 연결을 필터링
  • GNOME 통합: 독 고정 및 데스크톱 통합을 위한 적절한 WM 클래스 지원
  • 이중 설치: 사용자 로컬 및 시스템 전체 설치 모두 지원
  • 강력한 오류 처리: 명확한 설정 안내와 함께 포괄적인 오류 복구
  • 성능 최적화: 향상된 반응성을 위한 프로세스 캐싱 및 레이아웃 캐싱

요구 사항

  • Rust 1.70+ (2021 edition)
  • GTK4 개발 라이브러리
  • Libadwaita 개발 라이브러리
  • /proc 파일 시스템이 있는 Linux 시스템
  • Linux 5.8+ (eBPF 세분화된 기능용)
  • Nightly Rust 및 bpf-linker (eBPF 컴파일용)

Ubuntu/Debian에서 설치:

sudo apt update
sudo apt install libgtk-4-dev libadwaita-1-dev

Fedora에서 설치:

sudo dnf install gtk4-devel libadwaita-devel

설치

방법 1: 데스크톱 통합과 함께 소스에서 설치

  1. 저장소 복제:
git clone <repository-url>
cd network-monitor
  1. 로컬에 설치 (sudo 불필요):
./scripts/install.sh
  1. 또는 시스템 전체에 설치 (sudo 필요):
sudo ./scripts/install.sh

설치 스크립트는 다음을 수행합니다:

  • GTK4 및 TUI 바이너리 모두 빌드 (로컬은 debug, 시스템 전체는 release)
  • 바이너리를 ~/.local/bin/ (로컬) 또는 /usr/local/bin/ (시스템 전체)에 설치
  • GNOME 독 고정을 위한 적절한 WM 클래스와 함께 데스크톱 파일 설치
  • 적절한 아이콘 디렉토리에 아이콘 설치
  • 아이콘 캐시 및 데스크톱 데이터베이스 업데이트
  • 애플리케이션을 GNOME 독/대시보드에 고정할 수 있도록 보장

방법 2: 직접 빌드 및 실행

  1. 저장소 복제:
git clone <repository-url>
cd network-monitor
  1. 빌드 및 실행:
cargo run

또는 release 모드로 빌드:

cargo build --release
./target/release/network-monitor

방법 3: TUI 버전 빌드 및 실행

  1. 저장소 복제:
git clone <repository-url>
cd network-monitor
  1. TUI 빌드 및 실행:
cargo build --bin nmt
./target/debug/nmt

또는 release 모드로 빌드:

cargo build --release --bin nmt
./target/release/nmt

제거

설치된 버전 제거

로컬 설치 제거:

./scripts/uninstall.sh

시스템 전체 제거 (sudo 필요):

sudo ./scripts/uninstall.sh

제거 스크립트는 적절한 위치에서 바이너리, 데스크톱 파일 및 아이콘을 제거하고 모든 관련 캐시를 업데이트합니다.

사용법

GTK4 그래픽 인터페이스

네트워크 모니터 애플리케이션 실행:

cargo run

애플리케이션은 다음을 표시하는 GTK4 창을 엽니다:

  • Process(ID): 정확한 소켓-프로세스 매핑이 포함된 프로세스 이름 및 PID
  • Protocol: TCP/UDP 프로토콜
  • Source: 로컬 엔드포인트 (읽기 쉬운 형식으로 해석됨)
  • Destination: 원격 엔드포인트 (읽기 쉬운 형식으로 해석됨)
  • Status: 연결 상태 (ESTABLISHED, LISTEN 등)
  • TX: 프로세스 I/O 통계에서 계산된 업로드 속도
  • RX: 프로세스 I/O 통계에서 계산된 다운로드 속도
  • Path: /proc/[pid]/cmdline의 전체 명령 경로 및 인수

행 작업

  • 왼쪽 클릭: 행 선택 (하단 표시줄에도 표시됨)
  • 오른쪽 클릭: Copy Value, Copy Command 및 *Kill "process" (PID)*가 포함된 컨텍스트 메뉴 열기, Terminate (SIGTERM) 또는 Force Kill (SIGKILL) 여부를 묻습니다
  • Delete: 현재 선택된 행 종료 (동일한 확인 대화 상자)
  • Ctrl+C: 셀 내용 복사
  • 헤더 바의 새로 고침 버튼: 즉시 업데이트 (목록은 3초마다 자동 새로 고침됨)

터미널 인터페이스 (TUI)

network-monitor의 nmt tui

터미널 인터페이스 실행:

cargo run --bin nmt

TUI는 대화형 터미널 인터페이스에서 동일한 모니터링 기능을 제공합니다:

키 조작:

  • q - 애플리케이션 종료
  • r - 호스트 이름 해석 전환
  • R - 연결 수동 새로 고침
  • a - 자동 새로 고침 전환 (2초 간격)
  • ↑/↓ - 연결 탐색
  • ←/→ - 테이블 가로 스크롤
  • k / 오른쪽 클릭 - 행의 종료 메뉴 열기 (Terminate / Force Kill / Cancel)
  • 1-8 - 열 기준 정렬 (Process(ID), Protocol, Source, Destination, Status, TX, RX, Path)

마우스: 왼쪽 클릭으로 행 선택, 오른쪽 클릭으로 선택 및 종료 메뉴 열기.

기능:

  • 자동 새로 고침을 통한 실시간 연결 모니터링
  • 시각적 표시기가 있는 정렬 가능한 열
  • 넓은 테이블을 위한 가로 스크롤
  • 스마트 열 크기 조정 - 마지막 열이 남은 전체 너비 차지
  • 색상으로 구분된 프로토콜 (TCP/TCP6는 녹색, UDP/UDP6는 노란색)
  • 활성 연결 하이라이트
  • 프로세스 및 PID 정보
  • 실시간 I/O 속도 표시
  • 일관성을 위해 GTK4 버전과 동일한 열 순서

주소 해석

일반적인 주소는 가독성을 위해 단순화됩니다:

  • 0.0.0.0:* 또는 *:* → ANY
  • 127.0.0.1:* 또는 [::1]:* → LOCALHOST
  • 224.0.0.251:* → MDNS

작동 방식

eBPF 백엔드 (이벤트 기반)

앱은 /proc/net 폴링 대신 커널 수준 kprobe (tcp_v4_connect, tcp_v6_connect, tcp_close, inet_csk_accept)를 사용합니다. 이는 다음을 제공합니다:

  • 이벤트 기반: 밀리초 미만의 이벤트 전달, 폴링 오버헤드 없음 (~1-3% CPU)
  • 직접 PID: bpf_get_current_pid_tgid()를 통해 프로브 지점에서 캡처, inode 스캔 불필요
  • 단명 연결: 폴링 간격 사이에 놓치지 않음

eBPF 모드

eBPF 백엔드는 기본 /proc/net 폴링 방식과 비교하여 더 낮은 오버헤드와 실시간 이벤트로 이벤트 기반 연결 모니터링을 제공합니다. 폴링이 놓칠 수 있는 단명 연결을 캡처할 수 있습니다.

사전 요구 사항:

rustup toolchain install nightly
cargo install bpf-linker

빌드 및 실행:

cargo build

일반 사용자로 실행 (커널 5.8+ 필요):

바이너리에 필요한 Linux 기능을 한 번 부여:

sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/network-monitor
./target/debug/network-monitor

또는 TUI 버전의 경우:

sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/nmt
./target/debug/nmt

release 빌드의 경우 경로를 적절히 조정:

sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/release/network-monitor

eBPF를 사용할 수 없는 경우 (기능 누락 또는 지원되지 않는 커널) 앱은 설정 메시지와 함께 종료됩니다.

아키텍처

  • GTK4: 현대적인 크로스 플랫폼 GUI 프레임워크
  • Libadwaita: GNOME 스타일 UI 컴포넌트
  • Tokio: 동시 작업을 위한 비동기 런타임
  • Aya + eBPF: 실시간 이벤트를 위한 kprobe를 사용한 커널 수준 연결 추적
  • 직접 PID: 프로브 지점에서 bpf_get_current_pid_tgid()를 통한 프로세스 식별
  • 시스템 호출: I/O 통계를 위한 직접 /proc/[pid]/io 읽기
  • 오류 처리: thiserror를 사용한 우아한 복구 기능을 갖춘 포괄적인 오류 유형
  • 성능 캐싱: 최적의 성능을 위한 UI 레이아웃 캐싱

Linux 패키지

Packaging status

기부

이 프로젝트가 도움이 되었다면 개발을 지원하기 위해 기부를 고려해 주세요.

  • Monero: 88LyqYXn4LdCVDtPWKuton9hJwbo8ZduNEGuARHGdeSJ79BBYWGpMQR8VGWxGDKtTLLM6E9MJm8RvW9VMUgCcSXu19L9FSv
  • Bitcoin: bc1q6mh77hfv8x8pa0clzskw6ndysujmr78j6se025

라이선스

이 프로젝트는 오픈 소스입니다. 자세한 내용은 LICENSE 파일을 참조하세요.

도구 다운로드