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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
evillimiter — 로컬 네트워크의 장치 대역폭을 관리자 권한 없이 모니터링, 분석 및 제한하는 도구 | Kitploit
도구/GitHubGitHub/davidsonrafaelk/evillimiter
Network MappingIDS/IPS EvasionInformation GatheringNetwork SecurityWireless SecurityPenetration TestingRed Teaming
GitHubdavidsonrafaelk/evillimiter

evillimiter

로컬 네트워크의 장치 대역폭을 관리자 권한 없이 모니터링, 분석 및 제한하는 도구

저장소 보기
7211일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Evil Limiter

Evil Limiter

License Python CI Latest release Last commit GitHub stars

이 프로젝트는 bitbrute/evillimiter의 유지 관리 포크입니다. 업스트림 저장소는 더 이상 유지 관리되지 않으므로, 이 포크가 개발(버그 수정, 새 기능, 호환성 업데이트)을 계속 진행합니다. 아래의 포크별 변경 사항을 참조하세요.

로컬 네트워크의 장치 대역폭(업로드/다운로드)을 물리적 또는 관리자 접근 권한 없이 모니터링, 분석 및 제한하는 도구입니다.
evillimiter는 ARP 스푸핑과 트래픽 셰이핑을 사용하여 네트워크의 호스트 대역폭을 제한합니다. IPv6 지원 네트워크에서는 NDP 스푸핑이 ARP 스푸핑과 함께 사용되어 호스트의 IPv6 트래픽도 차단합니다. 그렇지 않으면 IPv4 전용 제한/차단을 우회할 수 있기 때문입니다.

Windows 호환 버전을 찾고 계신가요?
오픈소스 대안 EvilLimiter for Windows를 확인해 보세요.

소유한 네트워크 또는 테스트에 대한 서면 허가를 받은 네트워크에서만 실행하세요. ARP 및 NDP 스푸핑은 설계상 다른 사람의 트래픽을 방해하며, 통제권이 없는 네트워크에서 이를 수행하는 것은 대부분의 지역에서 불법입니다.

목차

  • 요구 사항
  • 설치
  • 사용법
  • 제한 사항
  • 포크별 변경 사항
  • 기여

요구 사항

  • Linux 배포판
  • Python 3.9 이상

설치 과정에서 누락된 Python 패키지가 자동으로 설치될 수 있습니다.

호환성 참고 사항

evillimiter는 시작 시 PATH를 통해 tc, iptables 및 sysctl을 찾으며, 하나라도 없으면 명확한 오류를 표시합니다. 특히 iptables 바이너리를 셸로 호출합니다. iptables가 iptables-nft 호환 셸인 배포판에서는 일반적으로 작동하지만, iptables 셸이 설치되지 않은 순수 nft 규칙으로만 관리되는 방화벽은 이 도구가 다루지 않습니다.

설치

root@kitploit:~
git clone https://github.com/DavidsonRafaelK/evillimiter.git
cd evillimiter
python3 -m venv .venv
source .venv/bin/activate
pip install .

sudo로 실행하세요(원시 소켓, iptables/tc는 루트 권한 필요). 루트 권한이 필요한 것은 설치가 아니라 실행입니다:

root@kitploit:~
sudo .venv/bin/evillimiter

참고: sudo python3 setup.py install(이전 지침)은 최신 setuptools에서 더 이상 사용되지 않으며 ModuleNotFoundError: No module named 'setuptools' 오류로 실패하는 경우가 많습니다. sudo는 시스템 Python을 실행하는데, 일반적으로 venv의 자체 Python(pip가 관리)과 달리 setuptools가 설치되어 있지 않기 때문입니다. PEP 668을 적용하는 배포판(Arch, Debian 12+ 등)에서는 이러한 이유로 venv 외부 설치가 완전히 차단됩니다.

또는 릴리스 페이지에서 원하는 버전을 다운로드할 수 있습니다.

사용법

도구를 실행하려면 evillimiter 또는 python3 bin/evillimiter를 입력하세요.

evillimiter는 필요한 정보(네트워크 인터페이스, 넷마스크, 게이트웨이 주소 등)를 자동으로 해석하려고 시도합니다.

명령줄 인수

구성 파일

위의 플래그 중 (일회성 작업이지 지속되는 기본 설정이 아닌 -f/--flush 제외) 어떤 것이든 ~/.config/evillimiter/config.ini(또는 $XDG_CONFIG_HOME/evillimiter/config.ini)의 선택적 ini 파일에 기본값으로 지정할 수 있습니다. 명령줄 플래그는 항상 구성 파일보다 우선합니다.

root@kitploit:~
[general]
interface = wlan0
colorless = true
auto_scan = true
log_file = /var/log/evillimiter.log

[watch]
interval = 30
range = 192.168.1.1-192.168.1.50

[watch]는 일반적으로 런타임 시 watch set interval/watch set range(아래 참조)로 설정되는 초기 값을 설정하므로 매 세션마다 다시 입력할 필요가 없습니다.

auto_scan(선택 사항, 기본적으로 꺼짐)은 시작 직후 scan과 hosts를 자동으로 실행하므로 매 세션마다 직접 입력할 필요가 없습니다.

evillimiter 명령어

제한 사항

  • IPv4 트래픽만 속도 제한합니다. ARP 스푸핑은 IPv4 네트워크에만 존재하는 ARP 패킷을 필요로 하기 때문입니다. IPv6 기본 경로가 있는 네트워크에서는 호스트의 IPv6 트래픽이 속도 제한 대신 NDP 스푸핑을 통해 완전히 차단됩니다. 트래픽을 셰이핑하는 tc/iptables 규칙이 IPv4 전용이기 때문입니다.
  • 셀룰러 폴백으로 우회됩니다. 차단/제한된 휴대폰은 WiFi가 저하되면 LTE/5G로 전환할 수 있습니다(Android "불량 연결 회피", iOS 동급 기능). 해당 트래픽은 네트워크에 전혀 닿지 않습니다.
  • MAC 무작위화 장치는 재연결 시 새 호스트로 나타납니다. 많은 휴대폰이 네트워크 연결 시 기본적으로 다른 MAC을 제공하므로 watch(MAC 기준 매칭)가 추적할 수 없습니다. 기존 제한은 더 이상 사용되지 않는 MAC/IP에 바인딩된 채로 남습니다. 이러한 주소는 hosts 테이블에서 (random)으로 표시되어(로컬 관리 비트가 설정됨) 새 ID로 다시 나타날 가능성이 있는 장치를 식별할 수 있습니다.
  • 이미 열린 연결은 잔류할 수 있습니다. 진행 중인 스트림/다운로드가 항상 전송 중에 게이트웨이 주소를 다시 해석하지는 않으므로, 자연스럽게 재설정될 때까지 오래된 ARP/NDP 캐시 항목으로 계속 흐를 수 있습니다. 새 연결은 즉시 차단됩니다.
  • 다른 서브넷/VLAN의 장치는 보이지 않습니다. 2.4GHz/5GHz를 별도 서브넷으로 분할하는 대역 스티어링 메시 시스템은 호스트가 스캔된 IP 범위를 완전히 벗어나 로밍할 수 있게 합니다.
  • 두 번째 네트워크 경로로 우회됩니다. 이더넷도 있는 장치(주로 노트북, 휴대폰 아님)는 이더넷으로 전환하여 영향받지 않는 세그먼트에 연결될 수 있습니다.
  • Dynamic ARP Inspection을 지원하는 관리형 스위치는 스푸핑을 완전히 차단할 수 있습니다. 일반적인 홈 라우터에서는 관련이 없지만 기업/엔터프라이즈 네트워크에서는 중요합니다.

포크별 변경 사항

아래의 모든 내용은 업스트림의 마지막 릴리스(v1.5.0) 위에 이 포크에서 추가되었습니다:

  • IPv6(NDP) 스푸핑 - limit/block이 IPv4뿐만 아니라 호스트의 IPv6 트래픽도 커버합니다
  • 기본 플래그 및 감시 설정을 위한 선택적 구성 파일(~/.config/evillimiter/config.ini)
  • ok/error 메시지를 파일에 저장하는 -l/--log-file
  • --version 플래그
  • 역방향 DNS 실패 시 mDNS/NetBIOS/DHCP 호스트 이름 폴백
  • block이 이제 FORWARD뿐만 아니라 INPUT/OUTPUT 체인(이 머신 자체로/로부터의 트래픽)도 차단합니다
  • watch가 이제 각 감시 호스트의 온라인/오프라인 상태를 표시하고 limit/block 시 호스트를 자동 감시합니다
  • IP 대신 MAC 주소 기준 호스트 추적(재연결 감지 및 해시/동등성 버그 수정)
  • limit/이 조용히 성공을 주장하는 대신 / 실패를 보고합니다

전체 버전 기록(업스트림 포함)은 CHANGELOG를 참조하세요.

기여

버그를 보고하거나, 기능을 요청하거나, 풀 리퀘스트를 제출하고 싶으신가요? 이슈 제출 및 PR 개설 규칙은 CONTRIBUTING.md를 참조하세요. 행동 강령도 읽어 주시기 바랍니다.

면책 조항

Evil Limiter - 원래 bitbrute가 만들고 현재 DavidsonRafaelK가 유지 관리 - 는 "있는 그대로" 및 "모든 결함 포함"으로 제공됩니다. 원저자와 현재 유지 관리자 모두 이 소프트웨어의 안전성, 적합성, 바이러스 부재, 부정확성, 오타 또는 기타 유해 구성 요소에 대해 어떠한 종류의 진술이나 보증도 하지 않습니다. 소프트웨어 사용에는 본질적인 위험이 있으며, Evil Limiter가 사용자의 장비 및 장비에 설치된 다른 소프트웨어와 호환되는지 여부를 결정할 책임은 전적으로 사용자에게 있습니다. 또한 장비 보호 및 데이터 백업에 대한 책임도 전적으로 사용자에게 있으며, 어느 당사자도 이 소프트웨어의 사용, 수정 또는 배포와 관련하여 발생할 수 있는 손해에 대해 책임을 지지 않습니다.

라이선스

Copyright (c) 2019-2026 bitbrute, 포크별 변경 사항에 대한 저작권(c) 2026 DavidsonRafaelK. 일부 권리 보유.
Evil Limiter는 LICENSE 파일에 명시된 대로 MIT 라이선스에 따라 라이선스가 부여됩니다.

도구 다운로드
인수설명
-h모든 명령줄 인수를 나열하는 도움말 메시지 표시
-i [인터페이스 이름]네트워크 인터페이스 지정(지정하지 않으면 자동 해석)
-g [게이트웨이 IP 주소]게이트웨이 IP 주소 지정(지정하지 않으면 자동 해석)
-m [게이트웨이 MAC 주소]게이트웨이 MAC 주소 지정(지정하지 않으면 자동 해석)
-n [넷마스크 주소]넷마스크 지정(지정하지 않으면 자동 해석)
-f현재 iptables 및 tc 구성을 플러시합니다. 패킷이 올바르게 처리되도록 보장합니다.
--colorless색상 출력 비활성화
-l [파일 경로], --log-file [파일 경로]모든 ok/error 메시지를 이 파일에도 추가 기록(일반 텍스트, 색상 코드 없음).
--version설치된 버전을 출력하고 종료합니다.
명령어설명
scan (--range [IP 범위]) (--intensity [1,2,3])네트워크에서 온라인 호스트를 스캔합니다. 시작 후 가장 먼저 해야 할 작업 중 하나입니다.
--range는 사용자 지정 IP 범위를 지정할 수 있게 합니다.
--intensity는 속도와 철저함을 맞바꿉니다: 1 빠름, 2 보통(기본값), 3 집중(재시도 증가/타임아웃 연장, 패킷 손실이 많은 네트워크에 유용). 다시 변경할 때까지 유지되며 watch의 백그라운드 재연결 스캔에도 적용됩니다.
예: scan --range 192.168.178.1-192.168.178.40 또는 전체 서브넷을 스캔하려면 그냥 scan.
hosts (--force)이전에 스캔한 모든 호스트/장치와 기본 정보를 표시합니다. 상호작용에 필요한 각 호스트의 ID를 표시합니다.
--force는 터미널에 맞지 않아도 테이블을 강제로 표시합니다.
limit [ID1,ID2,...] [속도] (--upload) (--download)지정된 ID와 연결된 호스트의 대역폭을 제한합니다. 속도가 인터넷 속도를 결정합니다. 호스트는 자동으로 감시 목록에 추가됩니다.
--upload는 나가는 트래픽만 제한합니다.
--download는 들어오는 트래픽만 제한합니다.
유효한 속도 단위: bit, kbit, mbit, gbit
속도는 독립적인 업로드/다운로드 속도를 위해 up/down 형식(예: 200kbit/1mbit)일 수도 있습니다 - 양방향 모두에만 유효합니다(--upload/--download 없음).
예: limit 4,5,6 200kbit 또는 limit all 1gbit 또는 limit 4 200kbit/1mbit
block [ID1,ID2,...] (--upload) (--download)지정된 ID와 연결된 호스트의 인터넷 연결을 차단합니다. 호스트는 자동으로 감시 목록에 추가됩니다.
--upload는 나가는 트래픽만 제한합니다
--download는 들어오는 트래픽만 제한합니다.
netem [ID1,ID2,...] (--delay [ms]) (--loss [%]) (--clear)호스트에 패킷 지연/손실을 에뮬레이션합니다 - 호스트가 이미 limit된 상태여야 합니다. 기존 속도 제한 tc 클래스에 연결되기 때문입니다. 호스트가 제한된 방향에 연결됩니다. 별도의 방향 플래그는 없습니다.
--clear는 속도 제한을 유지하면서 netem을 제거합니다.
예: netem 4 --delay 200ms --loss 10% 또는 netem 4 --clear
free [ID1,ID2,...]지정된 ID와 연결된 호스트의 제한/차단을 해제합니다. 모든 추가 제한을 제거합니다.
add [IP] (--mac [MAC])호스트 목록에 사용자 지정 호스트를 추가합니다. MAC 주소는 자동으로 해석되거나 수동으로 지정할 수 있습니다.
예: add 192.168.178.24 또는 add 192.168.1.50 --mac 1c:fc:bc:2d:a6:37
monitor (--interval [시간 ms])제한/차단된 호스트뿐만 아니라 발견된 모든 호스트의 대역폭 사용량을 모니터링합니다(현재 사용량, 총 사용 대역폭 등).
--interval은 대역폭 정보가 새로고침되는 간격을 밀리초 단위로 설정합니다(기본값 500ms).
예: monitor --interval 1000
analyze [ID1,ID2,...] (--duration [시간 s])누가 얼마나 많은 대역폭을 사용하는지 확인하기 위해 제한 없이 호스트의 트래픽을 분석합니다.
--duration은 분석 기간을 초 단위로 지정합니다(기본값 30초).
예: analyze 2,3 --duration 120
watch마지막 스캔 스윕 기준 각 감시 호스트의 온라인/오프라인 상태를 포함한 현재 감시 상태를 표시합니다. 감시 기능은 호스트가 다른 IP 주소로 재연결될 때 이를 감지합니다.
호스트는 limit 또는 block 시 자동으로 감시 목록에 추가됩니다.
watch add [ID1,ID2,...]지정된 호스트를 감시 목록에 추가합니다.
예: watch add 6,7,8
watch remove [ID1,ID2,...]지정된 호스트를 감시 목록에서 제거합니다.
예: watch remove all
watch set [속성] [값]현재 감시 설정을 변경합니다. 다음 속성을 변경할 수 있습니다:
range는 재연결을 스캔할 IP 범위입니다.
interval은 각 네트워크 스캔 사이의 대기 시간(초)입니다.
예: watch set interval 120
clear터미널 창을 지웁니다.
quit애플리케이션을 종료합니다.
?, help이와 유사한 명령 정보를 표시합니다.
block
tc
iptables
  • 결합된 업로드+다운로드 제한/차단의 제한 해제 시 오탐지/중복 명령 버그 수정
  • 테라바이트 범위 합계에 대한 ByteValue 형식 수정
  • 모든 푸시/PR에서 테스트 스위트를 실행하는 CI
  • 세션 간 유지되는 셸 명령 기록(~/.config/evillimiter/history), ↑/↓로 탐색 가능
  • hosts 테이블이 제한/차단된 호스트에 대해 "Limited"/"Blocked" 대신 할당된 속도/방향을 표시합니다
  • 스캔 속도와 철저함을 맞바꾸는 scan --intensity [1,2,3](빠름/보통/집중)
  • 시작 시 scan 후 hosts를 자동 실행하는 auto_scan 구성 옵션
  • monitor가 제한/차단된 호스트뿐만 아니라 발견된 모든 호스트를 추적합니다
  • limit이 한 번의 호출로 독립적인 업로드/다운로드 제한을 위해 up/down 속도(예: 200kbit/1mbit)를 허용합니다
  • 이미 제한된 호스트에서 패킷 지연/손실을 에뮬레이션하는 netem [ID] --delay [ms] --loss [%](제거하려면 --clear)