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

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

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 통계를 표시합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

네트워크 모니터

Linux의 GNOME 데스크톱에서 네트워크 모니터 데모

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

rust dependency status

기능

  • 실시간 모니터링: 활성 네트워크 연결을 지속적으로 모니터링합니다
  • I/O 통계: 각 연결의 실시간 업로드/다운로드 속도를 표시합니다
  • 프로세스 식별: 각 연결과 연결된 프로그램 및 PID를 표시합니다
  • 최신 GTK4 UI: Libadwaita 스타일의 깔끔하고 반응성이 뛰어난 그래픽 인터페이스
  • 터미널 UI (TUI): 동일한 모니터링 기능을 제공하는 대화형 터미널 인터페이스
  • 주소 해석: 일반적인 주소(localhost, any, mDNS)를 단순화합니다
  • 연결 필터링: 더 깔끔한 출력을 위해 localhost 연결을 필터링합니다
  • GNOME 통합: 도크 고정 및 데스크톱 통합을 위한 올바른 WM 클래스 지원
  • 이중 설치: 사용자 로컬 및 시스템 전체 설치를 모두 지원합니다
  • 견고한 오류 처리: 명확한 설정 안내와 함께 포괄적인 오류 복구
  • 성능 최적화: 향상된 응답성을 위한 프로세스 캐싱 및 레이아웃 캐싱

요구 사항

  • Rust 1.70+ (2021 에디션)
  • GTK4 개발 라이브러리
  • Libadwaita 개발 라이브러리
  • /proc 파일시스템을 갖춘 Linux 시스템
  • Linux 5.8+ (eBPF 세분화된 권한용)
  • Nightly Rust 및 bpf-linker (eBPF 컴파일용)

Ubuntu/Debian 설치:

root@kitploit:~
sudo apt update
sudo apt install libgtk-4-dev libadwaita-1-dev

Fedora 설치:

root@kitploit:~
sudo dnf install gtk4-devel libadwaita-devel

설치

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

  1. 저장소를 클론합니다:
root@kitploit:~
git clone <repository-url>
cd network-monitor
  1. 로컬에 설치합니다 (sudo 불필요):
root@kitploit:~
./scripts/install.sh
  1. 또는 시스템 전체에 설치합니다 (sudo 필요):
root@kitploit:~
sudo ./scripts/install.sh

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

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

방법 2: 직접 빌드 및 실행

  1. 저장소를 클론합니다:
root@kitploit:~
git clone <repository-url>
cd network-monitor
  1. 빌드 및 실행:
root@kitploit:~
cargo run

또는 릴리스 모드로 빌드:

root@kitploit:~
cargo build --release
./target/release/network-monitor

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

  1. 저장소를 클론합니다:
root@kitploit:~
git clone <repository-url>
cd network-monitor
  1. TUI를 빌드 및 실행:
root@kitploit:~
cargo build --bin nmt
./target/debug/nmt

또는 릴리스 모드로 빌드:

root@kitploit:~
cargo build --release --bin nmt
./target/release/nmt

제거

설치된 버전 제거

로컬 설치 제거:

root@kitploit:~
./scripts/uninstall.sh

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

root@kitploit:~
sudo ./scripts/uninstall.sh

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

사용법

GTK4 그래픽 인터페이스

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

root@kitploit:~
cargo run

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

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

터미널 인터페이스 (TUI)

network-monitor의 nmt TUI

터미널 인터페이스를 실행합니다:

root@kitploit:~
cargo run --bin nmt

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

주요 키 조작:

  • q - 애플리케이션 종료
  • r - 연결 수동 새로고침
  • a - 자동 새로고침 전환 (2초 간격)
  • ↑/↓ - 연결 탐색
  • ←/→ - 테이블 가로 스크롤
  • 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밀리초 미만의 이벤트 전달, 폴링 오버헤드 없음 (CPU 약 1-3%)
  • 직접 PID: inode 스캔 없이 bpf_get_current_pid_tgid()를 통해 프로브 지점에서 캡처
  • 수명이 짧은 연결: 폴링 간격 사이에 놓치지 않음

eBPF 모드

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

전제 조건:

root@kitploit:~
rustup toolchain install nightly
cargo install bpf-linker

빌드 및 실행:

root@kitploit:~
cargo build

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

필요한 Linux 권한을 바이너리에 한 번 부여합니다:

root@kitploit:~
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/network-monitor
./target/debug/network-monitor

또는 TUI 버전의 경우:

root@kitploit:~
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/nmt
./target/debug/nmt

릴리스 빌드의 경우 경로를 그에 맞게 조정합니다:

root@kitploit:~
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 파일을 참조하세요.

도구 다운로드