溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

IoTMap是一款什么工具

發(fā)布時間:2021-12-27 14:30:34 來源:億速云 閱讀:150 作者:小新 欄目:數(shù)據(jù)安全

這篇文章主要介紹了IoTMap是一款什么工具,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

IoTMap

IoTMap是一款支持多協(xié)議的物聯(lián)網(wǎng)網(wǎng)絡(luò)模型構(gòu)建工具,該工具可以同時使用一個或多個協(xié)議來對物聯(lián)網(wǎng)IoT網(wǎng)絡(luò)進(jìn)行模型構(gòu)建。該項目目前仍處于開發(fā)階段,主要針對的是物聯(lián)網(wǎng)設(shè)備安全。這個項目目前會定期更新,當(dāng)前版本的IoTMap支持三個協(xié)議,即BLE、ZigBee和OS4I,并且將來還會支持更多協(xié)議。

工具要求

Python 3依賴:

1、Python > 3.5

2、Scapy(可以通過requirements文件進(jìn)行安裝,但建議使用最新版本源碼進(jìn)行項目構(gòu)建)

3、neo4j-1.7.6

4、docopt-0.6.2

5、prompt-toolkit-3.0.5

6、terminaltables-3.1.0

7、pycryptodomex-3.9.7

廣大研究人員可以使用下列命令和requirements.txt文件來安裝依賴包:

pip3 install -r requirements.txt

OS庫

除了上述依賴組件之外,我們還需要安裝libgcrypt20-dev(用于網(wǎng)絡(luò)嗅探),這里可以使用下列命令,具體取決于你所使用的操作系統(tǒng):

sudo apt-get install libgcrypt20-dev # (debian-based distribs)

sudo pacman -S libgcrypt             # (archlinux-based distribs)

工具安裝

廣大研究人員可以使用下列命令將項目源碼克隆至本地,并安裝上述所有的依賴組件:

# 針對任意系統(tǒng)的發(fā)布版本呢

git clone https://github.com/AlgoSecure/iotmap.git

cd iotmap

sudo pip install -r requirements.txt

 

# 基于Debian的系統(tǒng)

sudo apt-get install libgcrypt20-dev

 

# 基于ArchLinux的系統(tǒng)

sudo pacman -S libgcrypt

接下來,我們還需要安裝Neo4J,大多數(shù)的Linux發(fā)行版系統(tǒng)都可以通過內(nèi)置的包管理器來安裝Neo4J。當(dāng)然了,我們也可以通過tarball來安裝和使用該工具:

cd /path/to/iotmap

cd database

 

# 如果有必要的話,可以在URL中替換最新版本的版本號參數(shù)

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

首次運行

如果你是第一次運行該工具的話,你還需要定義一個數(shù)據(jù)庫的用戶名和密碼,你可以使用下列命令開啟數(shù)據(jù)庫:

cd database

./neo4j-community/bin/neo4j console

此時,Neo4J將會運行,并可以通過http://localhost:7474來訪問。默認(rèn)的用戶名和密碼均為neo4j。IoTMap使用的是默認(rèn)用戶名和密碼(iotmap)。

如果你想要設(shè)置不同的憑證,你則需要更新core/databaseController.py文件中第46行的參數(shù)值:

model = Model("bolt:http://localhost:7474", "username", "password")

工具使用

我們可以使用下列命令來運行和開啟該框架:

python3 iotmap.py

IoTMap將會在運行之前開啟neo4j數(shù)據(jù)庫,不過數(shù)據(jù)庫并非立即可用,因為數(shù)據(jù)庫需要大約10秒的初始化時間。

IoTMap提供了三個模塊,即數(shù)據(jù)庫模塊(Datebase)、模型模塊(Modelling)和嗅探模塊(Sniffing)。Sniffing模塊目前仍處于開發(fā)階段,可能某些選項還不可用。如需切換模塊,可以直接輸入模塊名即可:

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 >

這里的每一個模塊和函數(shù)功能都提供了一個幫助菜單,以幫助廣大研究人員了解工具的使用方式。

數(shù)據(jù)庫模塊(Datebase)

這個模塊負(fù)責(zé)跟neo4j數(shù)據(jù)庫進(jìn)行交互和管理:

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 >

我們可以通過導(dǎo)入現(xiàn)有數(shù)據(jù)庫或Pcap文件來給數(shù)據(jù)庫填充數(shù)據(jù)。ImportPcaps命令可以將Pcap文件轉(zhuǎn)換成我們用于生成模型時所需的統(tǒng)一格式。這個模塊可以根據(jù)給定的協(xié)議來使用不同的提取器,IoTMap的主程序可以選擇相應(yīng)的提取器,并以多線程形式運行數(shù)據(jù)包生成器(gen_packets.py)來生成統(tǒng)一格式的pcap文件。

模型模塊(Modelling)

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 >

程序會在創(chuàng)建模型之前開啟Neo4J數(shù)據(jù)庫,數(shù)據(jù)庫開啟之后,該模塊將會運行。首先,它會分析輸入的pcap文件,然后提取并創(chuàng)建節(jié)點,連接節(jié)點的邊則為鏈接節(jié)點。模型創(chuàng)建成功之后,我們就可以通過訪問http://localhost:7474/來查看結(jié)果了。

工具運行截圖

IoTMap是一款什么工具

IoTMap是一款什么工具

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“IoTMap是一款什么工具”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI