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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
iotmap — 이종 IoT 프로토콜 모델링에 관한 연구 프로젝트 | Kitploit
도구/GitHubGitHub/algosecure/iotmap
IoT SecurityNetwork MappingInformation Gathering
GitHubalgosecure/iotmap

iotmap

이종 IoT 프로토콜 모델링에 관한 연구 프로젝트

저장소 보기
541436년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

IoTMap

IoTMap은 하나 이상의 프로토콜을 동시에 사용하여 IoT 네트워크를 모델링하는 도구입니다. 이는 사물인터넷 보안에 관한 박사 학위 논문의 일부로 진행 중인 작업입니다. 이 저장소는 새로운 결과가 얻어질 때마다 정기적으로 업데이트됩니다. 현재 이 프로젝트는 BLE, ZigBee, OS4I의 세 가지 프로토콜을 지원합니다. 더 많은 프로토콜이 추가될 예정입니다.

요구사항 :

Python 3 요구사항

  • Python > 3.5
  • Scapy (requirements 파일을 통해 설치할 수도 있지만 최신 소스에서 빌드하는 것을 권장합니다)
  • neo4j-1.7.6
  • docopt-0.6.2
  • prompt-toolkit-3.0.5
  • terminaltables-3.1.0
  • pycryptodomex-3.9.7

requirements.txt 파일을 사용하여 패키지를 설치할 수 있습니다:

root@kitploit:~
pip3 install -r requirements.txt

OS 라이브러리

  • libgcrypt20-dev (KillerBee를 통한 스니핑 기능에 필요) 사용하는 시스템(데비안 계열 OS, 아치 리눅스 계열 OS)에 따라 다음을 사용할 수 있습니다:
root@kitploit:~
sudo apt-get install libgcrypt20-dev # (데비안 계열 배포판)
sudo pacman -S libgcrypt             # (아치 리눅스 계열 배포판)

설치

이 저장소를 클론하고 위에 설명된 모든 요구사항을 설치하세요:

root@kitploit:~
# 모든 배포판
git clone https://github.com/AlgoSecure/iotmap.git
cd iotmap
sudo pip install -r requirements.txt

# 데비안 계열의 경우
sudo apt-get install libgcrypt20-dev

# 아치 리눅스 계열의 경우
sudo pacman -S libgcrypt

이제 Neo4J를 설치하겠습니다. 대부분의 배포판은 내장 패키지 관리자를 통해 Neo4J를 제공합니다. 하지만 tarball에서 설치하여 사용하는 것이 더 간단할 수 있습니다:

root@kitploit:~
cd /path/to/iotmap
cd database

# URL의 버전 번호는 필요한 경우 최신 버전으로 바꾸세요
wget -O neo4j-community.tar "https://neo4j.com/artifact.php?name=neo4j-community-3.5.9-unix.tar.gz"
mkdir neo4j-community && tar xvf neo4j-community.tar -C neo4j-community --strip-components 1

첫 실행

프로젝트를 처음 실행할 때, 데이터베이스에 대한 사용자 이름과 비밀번호를 정의해야 합니다. 다음 명령어로 데이터베이스를 시작하세요:

root@kitploit:~
cd database
./neo4j-community/bin/neo4j console

Neo4J가 시작되며 http://localhost:7474에서 접근할 수 있습니다. 기본 사용자 이름과 비밀번호는 각각 neo4j 및 neo4j입니다. Iotmap은 기본 사용자 이름을 사용하고 비밀번호로 iotmap을 사용합니다.

다른 자격 증명을 설정하려면 core/databaseController.py의 46번째 줄에 있는 값을 다음과 같이 업데이트해야 합니다:

root@kitploit:~
model = Model("bolt:http://localhost:7474", "username", "password")

iotmap 사용 방법

IoTMap 사용 방법에 대한 자세한 문서는 여기에서 확인할 수 있습니다.

프레임워크를 시작하세요:

root@kitploit:~
python3 iotmap.py

IoTMap은 실행 전에 neo4j 데이터베이스를 시작하지만, 데이터베이스를 즉시 사용할 수 있는 것은 아닙니다. 때로는 10초의 대기 시간이 데이터베이스 사용 가능에 충분하지만, 그렇지 않은 경우 iotmap을 다시 실행해야 합니다.

IoTMap은 Database, Modelling, Sniffing의 3가지 모듈을 제공합니다. 스니핑 모듈은 진행 중이며 완전히 작동하지 않습니다. 모듈 간 전환을 위해 모듈 이름을 입력하면 됩니다.

root@kitploit:~
python3 iotmap.py
Starting the database
Database is available at http://localhost:7474/



IIIIIIIIII              TTTTTTTTTTTTTTTTTTTTTTTMMMMMMMM               MMMMMMMM
I::::::::I              T:::::::::::::::::::::TM:::::::M             M:::::::M
I::::::::I              T:::::::::::::::::::::TM::::::::M           M::::::::M
II::::::II              T:::::TT:::::::TT:::::TM:::::::::M         M:::::::::M
  I::::I     oooooooooooTTTTTT  T:::::T  TTTTTTM::::::::::M       M::::::::::M  aaaaaaaaaaaaa  ppppp   ppppppppp
  I::::I   oo:::::::::::oo      T:::::T        M:::::::::::M     M:::::::::::M  a::::::::::::a p::::ppp:::::::::p
  I::::I  o:::::::::::::::o     T:::::T        M:::::::M::::M   M::::M:::::::M  aaaaaaaaa:::::ap:::::::::::::::::p
  I::::I  o:::::ooooo:::::o     T:::::T        M::::::M M::::M M::::M M::::::M           a::::app::::::ppppp::::::p
  I::::I  o::::o     o::::o     T:::::T        M::::::M  M::::M::::M  M::::::M    aaaaaaa:::::a p:::::p     p:::::p
  I::::I  o::::o     o::::o     T:::::T        M::::::M   M:::::::M   M::::::M  aa::::::::::::a p:::::p     p:::::p
  I::::I  o::::o     o::::o     T:::::T        M::::::M    M:::::M    M::::::M a::::aaaa::::::a p:::::p     p:::::p
  I::::I  o::::o     o::::o     T:::::T        M::::::M     MMMMM     M::::::Ma::::a    a:::::a p:::::p    p::::::p
II::::::IIo:::::ooooo:::::o   TT:::::::TT      M::::::M               M::::::Ma::::a    a:::::a p:::::ppppp:::::::p
I::::::::Io:::::::::::::::o   T:::::::::T      M::::::M               M::::::Ma:::::aaaa::::::a p::::::::::::::::p
I::::::::I oo:::::::::::oo    T:::::::::T      M::::::M               M::::::M a::::::::::aa:::ap::::::::::::::pp
IIIIIIIIII   ooooooooooo      TTTTTTTTTTT      MMMMMMMM               MMMMMMMM  aaaaaaaaaa  aaaap::::::pppppppp
                                                                                                p:::::p
                                                                                                p:::::p
                                                                                               p:::::::p
                                                                                               p:::::::p
                                                                                               p:::::::p
                                                                                               ppppppppp


                                Version=0.1

IoTMap > help

Core commands
=============

 Commands  Description
------------------------------
 database  Use database mode.
 sniffing  Use sniffing mode.
 exploit   Use exploit mode.


IoTMap >

각 모듈과 함수는 사용 가능한 기능과 사용 방법을 나열하는 도움말 메뉴를 제공합니다.

Database 모듈

이 모듈은 neo4j 데이터베이스를 관리하고 상호 작용합니다.

root@kitploit:~
IoTMap > database
IoTMap database > help

Core commands
=============

 Commands  Description
------------------------------
 database  Use database mode.
 sniffing  Use sniffing mode.
 exploit   Use exploit mode.


Database commands
=================

        Interact with the neo4j database.

List of available commands :
        addNodes
        clearDatabase
        exportDB
        getNodes
        help
        importDB
        importPcaps
        mergeNodes
        removeNode

For more information about any commands hit :
        <command name> -h

IoTMap database > 
											

데이터베이스를 채우기 위해 기존 데이터베이스나 Pcaps 파일을 가져올 수 있습니다. ImportPcaps는 Pcaps를 모델링 생성에 사용되는 통합 형식으로 변환합니다. 이 모듈은 인수로 주어진 프로토콜에 따라 extractors 폴더에서 찾을 수 있는 다른 추출기를 사용합니다. 메인 프로그램은 적절한 추출기를 선택한 다음 패킷 생성기(gen_packets.py)를 멀티스레드 방식으로 실행하여 통합 형식의 pcap을 생성합니다.

Modelling 모듈

root@kitploit:~
IoTMap modelling > help

Core commands
=============

 Commands  Description
------------------------------
 database  Use database mode.
 sniffing  Use sniffing mode.
 exploit   Use exploit mode.


Modelling commands
==================

        Map the network of IoT devices detected by sniffing.

List of available commands :
        appGraph
        compareTo
        dlGraph
        help
        nwkGraph
        option
        run
        set
        transGraph

For more information about any commands hit :
        <command name> -h

IoTMap modelling >                   

이 프로그램은 모델링을 생성하기 전에 Neo4J 데이터베이스를 시작합니다. 데이터베이스가 가동되면 모델링이 시작됩니다. 입력으로 제공된 pcap을 분석하여 노드를 추출 및 생성한 다음 노드를 연결하는 엣지를 만드는 것으로 시작됩니다. 4개의 그래프가 생성된 후, 결과는 http://localhost:7474에서 제공되는 Neo4J 웹 애플리케이션에서 볼 수 있습니다.

입력 상자에서 cypher 요청을 사용하여 웹 애플리케이션에서 직접 데이터베이스에 요청할 수도 있습니다.

neo4j 가져오기

도구 다운로드