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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nmlinux — Linux용 통합 네트워크 툴킷 — Python 3 + PySide6 | Kitploit
도구/GitHubGitHub/thongor77/nmlinux
Network MappingPort ScanningInformation GatheringDNS Analysis
GitHubthongor77/nmlinux

nmlinux

Linux용 통합 네트워크 툴킷 — Python 3 + PySide6

저장소 보기
9213216시간 24분 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

NMLinux · v1.7.14

Version Python License: GPL-2.0 Platform Languages Donate Bitcoin

Linux와 macOS를 위한 통합 네트워크 툴킷 — 점검하고, 연결하고, 진단하세요.

NMLinux는 29개의 네트워크 모듈을 하나의 창에 모아 놓은 단일 통합 GUI입니다: 인터페이스 모니터링, Wi-Fi, DNS, SSH 터미널, 방화벽 뷰어, 토폴로지 맵, traceroute 등. Python과 PySide6(Qt 6)로 처음부터 직접 제작했으며, 8개의 인터페이스 언어를 지원하고 표준 시스템 도구 외에 외부 의존성이 없습니다.

[!NOTE] NMLinux는 Linux 시스템 데몬 /usr/bin/NetworkManager(Red Hat/GNOME의 NetworkManager)와 관련이 없습니다. NMLinux는 Python과 PySide6로 처음부터 직접 만든 독립 프로젝트입니다.

Claude Code(Anthropic)와 저자의 기여로 제작되었습니다.


개발 과정

NMLinux는 AI의 도움을 받아 제작되었습니다 — 구체적으로 Claude Code를 사용했으며, 이 저장소 어디에도 이를 숨기지 않았습니다. 오늘날 거의 모든 진지한 소프트웨어 프로젝트는 공개하든 하지 않든 파이프라인 어딘가에서 AI를 사용합니다. 따라서 "AI가 관여했는가"는 흥미로운 질문이 아닙니다. 흥미로운 질문은 이것입니다: AI가 뭔가를 잘못했을 때 이를 잡아내는 것이 있는가?

제 말을 믿기보다 직접 확인하고 싶다면, 다음과 같은 것들이 있습니다:

  • 162개의 테스트 — pytest tests/ -v. 순수 로직과 더불어 실제 Qt 위젯 테스트(메뉴, 테이블) 몇 가지를 포함하며, 흥미로운 부분을 모킹으로 감추지 않았습니다.
  • docs/Decisions-Techniques.md — 명확하지 않은 모든 기술적 결정, 거부된 대안들, 그리고 발견되어 수정된 버그(AI가 만들어낸 것 포함)를 그 근거와 함께 기록했습니다.
  • docs/Architecture.md 및 docs/Carte-des-Modules.md — 실제 코드 구조를 담고 있으며, 배포되는 내용과 동기화되어 있습니다.
  • 8개 지원 언어 전반에서 누락된 번역 키를 잡아내기 위해 모든 릴리스 전에 실행되는 i18n 일관성 검사.

이 모든 것이 AI를 신뢰할 수 없어서 존재하는 것은 아닙니다. 검증하는 프로세스 없이는 어떤 것도 배포되어서는 안 되기 때문에 존재합니다 — 손으로 작성한 코드도 포함해서요. 도움을 준 도구가 아니라 결과물과 그것이 검증되는 방식을 판단하세요.

그래도 버그를 발견하셨나요? 그것은 유용한 일이지 부끄러운 일이 아닙니다 — 이슈를 열어주세요.


커뮤니티

GitHub Discussions가 열려 있습니다 — 피드백을 공유하고, 아이디어를 제안하고, 질문하거나, 그냥 인사만 하셔도 됩니다. 저자는 인프라와 운영 분야에서 30년 이상의 경력을 가지고 있으며, Linux에도 훌륭하고 무료이며 단순한 소프트웨어가 있어야 한다는 생각으로 이 도구를 만들었습니다.


스크린샷

Linux 스크린샷은 v1.2.7 — macOS 스크린샷은 v1.3.5 기준입니다. 현재 앱은 29개의 모듈과 8개의 인터페이스 언어(FR/EN/ES/DE/IT/PT/JA/ZH)를 갖추고 있습니다.

Linux (KDE)

DashboardTopology
DashboardTopology
TracerouteWi-Fi
TracerouteWi-Fi

macOS

DashboardTraceroute
macOS DashboardmacOS Traceroute

변경 이력

v1.7.14 — 2026-09-30

  • AppImage — 시작 시 충돌 수정, 두 번째 시도: v1.7.13의 수정(번들된 시스템 라이브러리 제거)만으로는 충분하지 않았습니다 — 내장된 Python 인터프리터 자체(libpython3.14.so.1.0, Arch Linux 개발 머신의 glibc 2.44에 맞춰 빌드됨)가 여전히 AppImageHub 카탈로그의 테스트 머신(Ubuntu 22.04, glibc 2.35)이 가진 것보다 최신 glibc 심볼을 요구해서, AppImage는 실행 즉시 계속 충돌했습니다. 이제 build-appimage.sh는 호스트가 아닌 ubuntu:22.04 컨테이너(podman 사용) 안에서 PyInstaller 번들을 빌드하므로, 내장된 모든 바이너리가 AppImage가 지원해야 하는 정확한 glibc 버전에 맞춰 링크됩니다.

v1.7.13 — 2026-09-30

  • AppImage — 시작 시 충돌 수정(불완전, v1.7.14 참조): build-appimage.sh가 Arch Linux 빌드 머신의 매우 최신 glibc에서 공유 라이브러리(libz.so.1, libstdc++.so.6, libX11.so.6, libfontconfig.so.1 등)를 그대로 번들링하고 있었습니다. 구형 배포판에서는 AppImage가 실행 즉시 충돌했으며(GLIBC_ABI_DT_RELR' not found), 이는 AppImageHub 카탈로그의 자동 테스트에서 발견되었습니다. 이제 이 라이브러리들은 번들에서 제거되어 AppImage가 호스트 시스템의 자체 복사본으로 폴백하며, 이는 AppImage의 표준 접근 방식입니다.

v1.7.12 — 2026-08-12

  • Traceroute — 수정: Flatpak(v1.7.11, 아래 참조 — 현재 제거됨) 환경에서 traceroute가 호스트에 실제 traceroute 바이너리가 설치되어 있지 않더라도 호스트 shim을 통해 PATH에서 항상 해석되어, 워커가 tracepath로 폴백하지 못하고 트레이스가 홉도 오류 표시도 없이 즉시 끝나버렸습니다. 이제 traceroute가 파싱 가능한 출력을 전혀 생성하지 못하면 이유와 관계없이 tracepath로 폴백합니다.
  • SSH 터미널 — askpass 수정: DISPLAY/WAYLAND_DISPLAY가 설정되어 있고(모든 GUI 세션) ssh에 깨끗한 tty가 없을 때, ssh가 내장 터미널 대신 비밀번호 프롬프트에 $SSH_ASKPASS를 사용하려 할 수 있으며 — askpass 헬퍼가 설치되어 있지 않으면 인증이 조용히 실패합니다. 이제 SSH_ASKPASS_REQUIRE=never가 비밀번호 프롬프트를 항상 터미널 자체를 통해 처리하도록 강제합니다.
  • Flatpak 패키징 제거: v1.7.11에 포함되었던 로컬 KDE Linux 매니페스트는 중단되었습니다. 위의 SSH 비밀번호 프롬프트 버그를 조사하던 중 커널 수준의 한계가 드러났습니다: flatpak-spawn --host를 통해 중계된 프로세스는 전달된 pty의 제어 터미널 소유자가 될 수 없습니다(TIOCSCTTY가 EPERM으로 거부됨 — 다른 무관한 세션이 이미 소유하고 있음; 이는 버그가 아니라 의도된 커널 보안 경계입니다). 유일한 우회 방법(script로 새 pty 할당)은 비밀번호 프롬프트는 고치지만 해당 세션의 실시간 터미널 크기 조정 전파를 깨뜨려 — Flatpak을 아예 배포하지 않는 것보다 더 나쁜 트레이드오프로 판단되었습니다. 앞으로 지원되는 Linux 설치 경로는 AUR과 AppImage입니다.

v1.7.11 — 2026-08-03

  • Flatpak 패키징 (KDE Linux): packaging/flatpak/ 아래의 로컬 빌드 매니페스트는 KDE Linux 및 기타 Flatpak 전용 배포판을 대상으로 합니다. nmlinux가 셸을 통해 호출하는 호스트 CLI 도구(nmcli, pkexec, mount.cifs, ssh, nmap, …)는 각각을 개별적으로 샌드박싱하는 대신 PATH 상의 flatpak-spawn --host shim을 통해 연결됩니다. PySide6는 PyPI 휠이 아닌 Flathub의 io.qt.PySide.BaseApp에서 가져옵니다. Flathub에는 게시되지 않으며 — 단일 .flatpak 번들이 packaging/flatpak/build-bundle.sh로 빌드되어 AppImage와 동일한 방식으로 각 릴리스에 첨부됩니다. v1.7.12에서 중단됨 — 위 참조.

v1.7.10 — 2026-08-03

  • SSH 터미널 — 수정: 세션 시작 시 터미널 위젯의 실제 크기를 아직 알 수 없을 때 PTY가 잘못된(기본 24×80) 크기로 시작되어 크기 조정 요청이 조용히 무시될 수 있는 경쟁 조건을 수정했습니다. 이로 인해 원격 전체 화면 앱(예: Claude Code CLI, htop, vim)이 실제 창 크기와 어긋나, 화면 하단에 새 출력이 스크롤되어 지나가야만 지워지는 잔여 텍스트가 남았습니다. 사용자가 보고했으며, 실제 대화형 세션으로 재현했습니다

v1.7.9 — 2026-08-02

  • SSH 터미널 — 복사/붙여넣기: 마우스로 텍스트를 선택하고(클릭-드래그, 하이라이트), Ctrl+Shift+C 또는 우클릭 메뉴로 복사하며, Ctrl+Shift+V로 붙여넣습니다(기존 기능). 이전에는 복사가 불가능했습니다 — 텍스트 선택 자체가 존재하지 않았습니다
  • SSH 터미널 — 여러 동시 세션: 이제 SSH 페이지는 단일 공유 세션 대신 각 연결을 자체 탭에서 엽니다. 저장된 연결에 다시 연결할 때 — 같은 연결에 두 번이라도 — 작동하는 대체 세션을 열지 않고 활성 세션을 종료하던 문제가 있었는데, 이제 모든 연결 동작이 새롭고 독립적인 탭을 엽니다

v1.7.8 — 2026-07-14

  • Speed Test — 새로운 LAN(iperf3) 탭: 기존 인터넷 속도 테스트와 함께, 새 탭에서 번들된 공용 서버 목록(26개국) 또는 저장된 사용자 지정 서버(예: 조직 내부 서버)를 대상으로 클라이언트 전용 iperf3 테스트를 실행합니다. TCP/UDP, IPv4/IPv6/자동, 역방향(다운로드) 방향을 지원하며, UDP 테스트의 경우 지터/손실을 표시합니다. 이슈 #6에서 제안되었습니다
  • 새로운 선택적 의존성: iperf3 — 설치하면 LAN 탭이 활성화되며, 그렇지 않으면 탭에 배너가 표시되고 비활성 상태로 유지됩니다

v1.7.6 — 2026-07-05

  • Asset Inventory — 우클릭 새로고침: 이미 스캔된 하나 이상의 행(다중 선택 지원)을 우클릭하고 "Refresh selected"를 선택하면 전체 네트워크 스캔을 다시 실행하는 대신 해당 호스트만 제자리에서 다시 스캔합니다
  • Asset Inventory — SSH 인증 실패 피드백: 거부된 SSH 로그인이 이제 조용히 실패하는 대신 "SSH auth failed"를 표시하며, Nmap이 감지한 호스트명/OS 기준 정보를 잃지 않습니다 — 다른 구성된 자격 증명 세트를 먼저 시도한 후 DSM의 Auto Block이 올바른 비밀번호를 거부한 실제 Synology NAS에서 확인했습니다

v1.7.5 — 2026-07-04

도구 다운로드