Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
iotmap — 异构物联网协议建模研究项目 | Kitploit
工具/GitHubGitHub/algosecure/iotmap
物联网安全网络映射信息收集
GitHubalgosecure/iotmap

iotmap

异构物联网协议建模研究项目

查看仓库
541436年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

IoTMap

IoTMap 是一个使用一个或多个协议同时建模物联网网络的工具。 这是一项正在进行的工作,作为物联网安全博士论文的一部分。 此存储库定期更新,随着获得新结果。 该项目目前支持3种协议: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

操作系统库

  • libgcrypt20-dev(通过KillerBee嗅探功能所需) 根据您使用的系统(基于debian的系统、基于archlinux的系统),您可以使用:
root@kitploit:~
sudo apt-get install libgcrypt20-dev # (debian-based distribs)
sudo pacman -S libgcrypt             # (archlinux-based distribs)

安装

克隆此仓库并安装上述所有依赖项:

root@kitploit:~
# For any distrib
git clone https://github.com/AlgoSecure/iotmap.git
cd iotmap
sudo pip install -r requirements.txt

# If debian-based
sudo apt-get install libgcrypt20-dev

# If archlinux-based
sudo pacman -S libgcrypt

现在我们将安装 Neo4J。大多数发行版通过内置包管理器提供了 Neo4J。然而,从 tarball 安装和使用可能更简单:

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

# Replace the version number with the latest in the URL if necessary
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 提供了3个模块:Database, Modelling and Sniffing。嗅探模块正在开发中,尚未完全可用。要在模块之间切换,只需输入模块的名称。

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 >

每个模块和功能都会提供一个帮助菜单,列出可用函数及其使用方法。

数据库模块

该模块管理并操作 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。

建模模块

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个图之后,结果可通过 Neo4J 提供的 Web 应用程序在 http://localhost:7474/ 查看。

您还可以直接在 Web 应用程序的输入框中使用 Cypher 查询来查询数据库。

neo4j 导入

下载工具