영어 원문: https://argusic.com/subject/knock-knock
knock-knock
Knock-Knock: 인터넷 침입 시도를 보여주는 실시간 멀티 프로토콜 허니팟 대시보드 - 13개 프로토콜, 확장 가능한 프레임워크, 공용 IP 차단 목록 피드를 제공하는 위협 인텔리전스 데이터베이스
mock으로 실행됨출처: GitHub홈페이지PythonMITcommit da33d6ae4a60
Python, MIT 라이선스. 프로젝트 자체 레이블: blocklist, bots, cybersecurity, dashboard, docker, extensible, ftp 및 honeypot.
knock-knock: 의존하는 서비스를 대체물로 바꾸면 실행됩니다. Argusic agent가 GPU가 없는 깨끗한 머신에서 62분 만에 설치했고, 오류 5개가 발생했지만 도움 없이 모두 수정했으며, 전체 세션이 녹화되었습니다.
With a locally built Redis 7.4.1, MaxMind test GeoIP .mmdb files, and non-root high ports, monitor.py spawned all eight honeypots, uvicorn served the dashboard on :8080 (HTTP 200) with live WebSocket knocks, and the 104-test suite passed; RDP/SSH port overrides, GEOIP_DIR, and stats.py DB_DIR were fixed along the way.
깨끗한 머신에서 agent가 얻은 결과를 agent 자신의 말로 옮긴 것입니다. 측정 방법
Argusic이 매번 새 머신에서 측정합니다. 모든 수치는 해당 증거로 연결됩니다. Argusic 점수 100점 만점에 92점(이 프로젝트 실행 점수의 평균).
한눈에 보기
프로젝트 데이터 출처: GitHub(이 페이지 상단에 링크), 업데이트 . 테스트 데이터 제공: Argusic(CC BY 4.0). 모든 수치는 전체 log, 녹화, 그리고 그 sha256 해시가 있는 실행 페이지로 연결됩니다.
측정한 항목
이 판정을 결정한 실행에서 가져왔습니다. 모든 줄은 추정치가 아니라 기록된 값입니다.

agent 자신의 말로 본 문제점
agent가 직접 남긴 말이며, 심각한 것부터 나열하고 조언으로 고쳐 쓰지 않습니다.
- GeoIP database paths hard-coded to /usr/share/GeoIP, which is root-owned and unpopulated in this non-root container; monitor blocked waiting forever10분
- RDP honeypot hard-coded c_listen 3389 so ENABLED_PROTOCOLS=RDP:<port> was ignored and the spawned honeypot died (port refused)8분
- SSH honeypot ignored --port (only read SSH_PORT), so it never bound the ENABLED_PROTOCOLS port6분
- stats.py hard-coded data/knock_knock.db and crashed with 'no such table: country_intel' when DB_DIR pointed elsewhere3분
- monitor.py failed with redis ConnectionError Errno 99 connecting to localhost:6379 (IPv6-first) when only IPv4 was bound2분
- 설치 시간
- 62분
- 깨끗한 머신에서 완료까지
- 19분
- 발생하고 수정된 오류
- 5개 발생, 5개를 사람의 도움 없이 수정
- 결과를 증명한 방법
- python -m pytest tests/ exited 0 with 104 passed (4 added regression tests for the port/GEOIP_DIR fixes); monitor.py spawned 8 honeypots whose ports answered; uvicorn main:app answered GET / with 200 (186421 B) and delivered new_knock messages for SSH/FTP/HTTP/SMTP/TNET/SIP over /ws; lifts confirmed in SQLite via stats.py; knock-api GET /ip/127.0.0.1 returned 200.
- 사용한 모델 token
- 285,315
- 테스트한 정확한 commit
- da33d6ae4a60
- 컨테이너 이미지
- sha256:cdd920bce783
측정하지 않은 항목
나머지 절반입니다. 이 증거가 어디까지 유효한지 정확히 볼 수 있도록 공백은 공백으로 표시하며 절대 채워 넣지 않습니다.
- 최대 GPU 메모리
- CPU 머신에서 실행되어 샘플링할 GPU가 없었습니다
- 장시간 실행 시 동작
- 각 시도는 문서화된 가장 작은 설정과 고정된 시간 예산을 사용하므로, 부하에서 얼마나 버티는지가 아니라 실행되는지를 측정합니다
- 실제 서비스에 대한 동작
- 이 실행은 대체 서비스로만 검증되었습니다
녹화의 마지막 부분
이 판정을 결정한 터미널 세션의 마지막 줄을 기록된 그대로 보여 줍니다.
- **SSH honeypot ignored `--port`** (only read `SSH_PORT`) — same symptom (`honeypots/ssh_honeypot_… - **GeoIP paths hard-coded to `/usr/share/GeoIP`** in `monitor.py`, `main.py`, and `extras/api/knoc… - **`stats.py` ignored `DB_DIR`** (crashed with `no such table: country_intel` on any non-default D… - Minor: `localhost`→Redis failed with `Errno 99` (IPv6-first resolution against an IPv4 bind); res… ## Verified end to end - All 8 honeypot ports OPEN after launch; the 3 latest fixes are covered by `tests/test_install_reg… - Real credential attempts on SSH/FTP/Telnet/SMTP/HTTP/SIP/RDP/SMB → SSH rejected auth, FTP `530 Lo… - Persisted to SQLite (`data/knock_knock.db`) with correct fields (e.g. SSH user/pass `e2euser`/`e2… - Web: `/` → 200 (186421 B), `/summary` → 200, `/static/demo.gif` → 200; `/api` and `/blocklist` → … - Public API: `/ip/127.0.0.1` → 200 with `listed:true, hits:10`; `/check-ranges?ranges=203.0.113.0/… - Ban round-trip via `ip_ban.py` wrote and removed the Redis key; `node --check` passed on all thre… **Not verified:** `restart.sh` (needs systemd/docker, neither present); the real browser rendering …
전체 세션 다시 보기, 깨끗한 머신에서 이 시점까지의 모든 명령.
테스트 방법
하나의 agent, 하나의 컨테이너, 사람의 도움 없음. agent는 프로젝트 문서가 안내하는 방식대로 프로젝트를 설치하고 실행하며, 문제가 생기면 수정합니다. 아래의 모든 내용은 실제로 일어난 그대로 기록되었습니다: 터미널 세션, log, 정확한 commit. 전체 방법론.
장점과 한계
의견이 아니라 측정된 사실입니다. 콘텐츠 작성 방식.
잘된 점
- 62분 만에 설치되었습니다.
- 사람의 개입 없이 오류 5개에서 모두 복구했습니다. 실패가 해결할 수 있을 만큼 잘 문서화되어 있다는 뜻입니다.
- 호스트가 보고한 라이선스는 MIT입니다.
잘되지 않은 점 또는 알 수 없는 점
- 대체 서비스로만 실행 상태에 도달했으므로, 실제 서비스에서 작동한다는 것은 여기서 증명되지 않습니다.
- 지금까지 한 번 측정되었습니다. 한 번의 시도는 실행될 수 있음을 보여 줄 뿐, 안정적으로 실행된다는 것을 보여 주지는 않습니다.
같은 분야에서 함께 테스트한 프로젝트
여기 있는 모든 프로젝트는 Argusic이 깨끗한 머신에 설치하고 실행했습니다. 테스트하지 않은 프로젝트는 여기에 나오지 않습니다.
실행 기록
| 테스트 주체 | 시도 | 결과 | 점수 | 비용 USD | 시점 |
|---|---|---|---|---|---|
| Argusic Runner | 1/3 | mock으로 실행됨 | 92.00 | 0.29 |
토픽 (출처: GitHub)
blocklistbotscybersecuritydashboarddockerextensibleftphoneypothttppythonrdpsecurityself-hostedsipsmbsmtpsshtelnetthreat-intelligencevisualizations
배지 삽입
프로젝트 README용 Markdown입니다. 이 페이지로 다시 연결되며, 이용 조건은 다음에 있습니다: 이용 약관 페이지.
[](https://argusic.com/subject/knock-knock)질문
- knock-knock 프로젝트는 실행되나요?
- knock-knock 프로젝트는 외부 서비스를 mock으로 대체하면 실행됩니다. Argusic은 깨끗한 머신에서 62분 만에 설치하고 실행했으며, 그 과정에서 오류 5개가 발생했고, 세션을 녹화했습니다.
- Argusic은 knock-knock 프로젝트를 어떻게 테스트했나요?
- 새로운 일회용 머신에서 모든 명령을 기록하며 테스트했습니다. 리포지토리는 commit da33d6ae4a60에 고정되었습니다. 기록된 시도는 한 번이며, 전체 방법은 방법론 페이지에 있습니다.
- knock-knock 테스트 비용은 얼마였나요?
- 이 판정을 낸 실행의 비용은 0.29 USD입니다: 백만 token당 정가가 아니라 실제 컴퓨팅 및 모델 비용입니다. 해당 실행 페이지에 기록되어 있습니다.
- knock-knock 설치에는 얼마나 걸리나요?
- 이 판정을 결정한 실행에서 깨끗한 머신부터 실행 상태까지 62분이 걸렸습니다. 평균이 아니라 측정된 한 번의 시도입니다.
- knock-knock 실행에 GPU가 필요한가요?
- 시작하는 데는 필요하지 않습니다. Argusic은 GPU가 없는 머신에서 실행 상태에 도달했습니다.
- knock-knock 설치 시 어떤 문제가 생기나요?
- 기록된 실행에서 5개의 문제가 발생했습니다. 그중 5개는 사람의 도움 없이 수정되었습니다. 각 문제와 그로 인해 든 시간이 이 페이지에 나와 있습니다.
- knock-knock 프로젝트의 증거는 어디에 있나요?
- 기록된 실행이 이 페이지에 있으며, 각각 전체 log와 터미널 녹화로 연결됩니다. 이들은 몰래 변경할 수 없도록 sha256 지문과 함께 저장됩니다.