Jocasta는 기기의 MAC 주소를 기준으로 네트워크 장비 목록을 만들고, IP 주소가 바뀌어도 기기에 붙인 이름과 메모를 유지한다. 라우터를 연결하면 다른 VLAN의 기기도 식별하고 장비 간 통신을 기록한다. 웹 인터페이스를 갖춘 단일 바이너리로 실행되지만, 아직 1.0 이전 버전이며 설정 형식·데이터베이스 스키마·HTTP API가 업그레이드 경로 없이 바뀔 수 있다.

기본적으로 Jocasta는 지정한 네트워크를 주기적으로 검색하고 기기 이름을 역방향 DNS에서 가져오거나 mDNS, NetBIOS, DNS-SD, SSDP로 기기에 직접 묻는다. 라우터를 연결하면 라우터의 ARP·DHCP 테이블도 읽는다. 검색 결과 새 기기, IP 주소의 획득·상실, 호스트 이름 변경을 변경 기록에 남긴다. 검색은 기본 5분 간격으로 실행되며 수동으로 시작할 수도 있다.

라우터가 NetFlow 또는 IPFIX 흐름 기록을 내보내면 기기별로 다른 기기, 인터넷상의 조직과 국가 중 어디와 통신하는지도 기록한다. 저장하는 정보는 기기별 시간당 집계치다.

기능내용필요한 연결·설정
기기 목록주소, 네트워크 구간, 제조사, 이름, 마지막 확인 시각을 표시한다. 그룹·네트워크·접속 여부로 검색하고 필터링할 수 있다.별도 연결은 필요 없다. 라우터가 없으면 Jocasta가 있는 구간의 기기만 MAC 주소와 제조사를 확인할 수 있다.
사용자 지정 정보기기에 이름표, 그룹, 메모를 붙이거나 무시 대상으로 표시한다. 검색해도 이 정보는 덮어쓰지 않는다.별도 연결은 필요 없다.
네트워크 보기각 네트워크 구간을 별도 페이지로 보여준다.구간 이름과 VLAN 태그는 라우터에서 가져온다.
변경 기록특정 기기나 전체 네트워크에서 어떤 기기가 나타나고, 이동하거나 이름이 바뀌었는지와 그 시각을 보여준다.별도 연결은 필요 없다.
접속 상태기기가 응답을 멈추거나 다시 나타날 때 알림을 받을 수 있다. 기기 페이지에는 최근에 확인됐거나 응답이 끊긴 시점이 표시된다.별도 연결은 필요 없다.
열린 포트기기에서 수신 대기 중인 TCP 포트와 변경 시점을 보여준다.포트 검색을 켜야 한다.
트래픽지난 하루·일주일·한 달 동안 기기가 네트워크 안팎에서 통신한 대상을 보여준다. 네트워크를 탐색하는 기기와 인터넷에서 접근했거나 접근을 시도한 내부 서비스를 확인할 수 있다.라우터의 흐름 기록 내보내기가 필요하다.
지도지난 한 시간의 트래픽을 라우터에서 각 네트워크·기기·조직으로 이어지는 실시간 트리로 보여주고, 네트워크가 통신한 국가를 세계 지도에 표시한다.라우터의 흐름 기록 내보내기가 필요하다.
토폴로지인터넷에서 시작해 각 스위치와 액세스 포인트의 포트, VLAN 색상으로 구분한 기기의 포트나 Wi-Fi 네트워크까지 연결 관계를 표시한다. 기기 페이지에서는 해당 기기까지의 경로를 볼 수 있다.MikroTik 또는 OpenWrt 라우터가 필요하다. 스위치와 액세스 포인트도 읽을 수 있으면 기기가 연결된 포트까지 표시한다.
API같은 데이터에 접근하는 JSON API를 제공한다.별도 연결은 필요 없다.
MCP 서버MCP 엔드포인트를 제공해 Claude Code 같은 AI 에이전트가 기기를 조회하고 이름표를 붙이며 변경 사항을 보고할 수 있다.설정에서 켜야 한다.

Jocasta는 내장 데이터베이스를 사용하며 함께 실행해야 하는 별도 서비스가 없다. 현재 지원하는 데이터 소스는 MikroTik RouterOS의 REST API와 OpenWrt의 ubus를 통한 라우터 테이블, NetFlow v5·v9 또는 IPFIX를 보내는 라우터의 흐름 기록, Technitium DNS Server·Pi-hole v6·AdGuard Home의 DNS 질의 로그다. 자세한 내용은 플러그인 문서, 토폴로지 문서, NetFlow 문서, DNS 리졸버 문서에서 볼 수 있다. 화면 예시도 공개돼 있다.

설치와 운영 조건

간단히 시작하려면 jocasta.yaml에 검색할 네트워크를 적는다. 예시는 networks: - "192.0.2.0/24" server: auth: cookie_secure: false # only while you reach it over plain HTTP다. 이어서 하드웨어 주소를 읽을 수 있도록 호스트 네트워크에서 컨테이너를 실행한다. 제공된 명령은 docker run -d --name jocasta --network host \ -v jocasta-data:/data \ -v ./jocasta.yaml:/data/jocasta.yaml:ro \ ghcr.io/pushkar-anand/jocasta:latest다. 그다음 http://<host>:8080을 열어 관리자 계정을 만든다. 첫 검색은 즉시 시작되고 이후 기본적으로 5분마다 실행된다.

각 단계에서 예상되는 동작은 첫 기기 목록 만들기에서 안내한다. 기본값을 포함한 나머지 설정은 jocasta.example.yaml에 있다. 바이너리·Compose 설치, 소스 빌드, 라우터 연결 방법은 설치 문서와 플러그인 문서를 참조하면 된다.

이 프로젝트는 개발이 활발히 진행 중인 1.0 이전 버전이다. 새 릴리스에서 설정 형식, 데이터베이스 스키마 또는 HTTP API가 바뀌어도 업그레이드 경로가 제공되지 않을 수 있다. 따라서 특정 버전에 고정하고 다음 버전으로 옮기기 전에 릴리스 노트를 확인해야 한다.

문서는 프로젝트 문서 사이트에서 릴리스별 버전으로 제공되며, 언어 모델용 llms.txt도 공개돼 있다. 같은 문서는 저장소의 docs/ 디렉터리에도 있다. 시작 안내에는 작동 방식, 설치, 설정이 포함된다. 기기 이름표·그룹·무시 설정은 기기 문서, 이름을 정하는 방법은 이름 문서, 기기 유형 분류는 분류 문서에서 다룬다.

그 밖에 라우터·흐름 기록·DNS 리졸버를 다루는 플러그인, 휴대전화·웹훅·채팅 서비스로 변경 사항을 보내는 알림, AI 에이전트용 MCP 서버와 JSON API 연동 문서가 있다. 운영 문서에서는 사용자와 로그인, HTTPS, 백업과 업그레이드, 일반적인 문제를 안내한다. 설정 전체 목록, 명령줄 인터페이스, 웹 인터페이스 둘러보기, 개발 안내도 제공한다.

Jocasta는 GNU AGPL-3.0으로 배포된다. 내장된 제3자 데이터에는 IEEE 등록 정보와 Wireshark 제조사 목록의 MAC 제조사 이름, DB-IP의 IP-to-ASN 데이터와 IP-to-Country 데이터, Natural Earth의 국가 경계 데이터가 포함된다. DB-IP 데이터는 CC BY 4.0으로 제공되며, Natural Earth 데이터는 퍼블릭 도메인이다. 오류 보고와 질문은 GitHub 이슈에서 받는다.