如何将树莓派打造成一个网络扫描仪?

在这个树莓派网络扫描仪项目中,我们将向您展示如何利用名为 Kismet 的软件包。

该项目依赖 Kismet 软件,该软件利用您的网络接口 (例如 WiFi 适配器和蓝牙适配器) 在所有可用频率上扫描所有可用设备。

Kismet 将读取有关设备的信息并监视其数据包流量。它还将监视信息,例如它们所操作的频率等。

请注意,对于本教程,您无法使用树莓派的内置 WiFi ,因为它缺乏可置于” 监视” 模式下的功能。

请务必注意,Kismet 可以与 WiFi ,蓝牙和某些软件定义的无线电 (SDR) 硬件一起使用。它不适用于以太网。

我们建议您不要运行任何其他网络项目,除非您知道自己在做什么。您可能会发现它们将与 Kismet 发生冲突。

设备

以下是将树莓派变成网络扫描仪所需的所有设备。

推荐的

  • 树莓派

  • 8GB SD 卡或 * Micro SD 卡 树莓派 2、 3 或 B +

  • USB 键盘

  • USB 鼠标

  • HDMI 电缆

  • 以太网线或 * Wifi 加密狗

  • 蓝牙适配器 (仅当未使用 Pi 3 或零 W 时)

可选的

  • 树莓派外壳

视频

您可以在下面观看有关设置和配置树莓派作为网络扫描仪的视频。

如果您希望按照文本说明逐步学习本教程,则可以按照视频下方的书面指南进行操作。

Adblock 阻止了视频?订阅我们的无广告服务,为我们提供支持。

测试您的无线适配器的网络扫描支持

1 在开始设置树莓派扫描网络之前,请先通过运行以下命令确保 Pi 是最新的以下命令。

sudo apt-get update
sudo apt-get upgrade

2 现在,我们已经更新了树莓派,让我们使用以下命令来检索所有可用的无线网络设备。

我们将使用此命令中的值来验证我们的网络设备是否可以支持网络扫描仪软件所需的监视模式。

开发者

3 此命令应产生与以下列表相似的列表。查找要放入监视模式的无线设备。

例如,我们的接口是 ** wlan1 设备,当前未连接到任何网络。因此,我们需要注意它的物理 ID ,即 phy1 **(#1 **)。

物理#1
        接口 wlan1 
                ifindex 4
                wdev 0x100000001
                地址 00 :c1:41:07:11:76
                类型管理
                频道 11 (2462 MHz),宽度:40 MHz,中心 1 :2452 MHz
                发射功率 20 .00 dBm
phy#0
        接口 wlan0 
                ifindex 3
                wdev 0x1
                地址 b8 :27:eb:44:ad:fe
                类型管理
                频道 11 (2462 MHz),宽度:20 MHz,中心 1 :2462 MHz
                发射功率 31 .00 dBm

4 现在,我们已经获得了要使用的无线设备的物理地址,让我们通过运行以下命令来检查它是否可以支持我们所需的监视模式。

确保将 ** phy1 ** 替换为您打算使用的设备的地址。

iw phy phy1信息

5 从 phy1 info 命令的输出中,您需要查找标题为支持的接口模式:的部分。

找到本节后,在其中寻找 ** \ * Monitor **。如果可以看到它,则可以继续进行此树莓派网络扫描仪教程。如果找不到,则需要找到其他无线适配器。

准备用于网络扫描的无线监视器

1 现在我们知道可以使用我们的无线适配器了,我们需要通过运行以下命令来修改接口文件。

sudo vim /etc/network/interfaces

** 2 ** 在此文件的底部,我们需要输入以下几行。

这些行通过我们的 ** wlan1 接口执行了几项不同的操作。第一行 allow-hotplug ,告诉操作系统等待 kernel / drivers / udev 来检测设备。
第二行对其进行设置,以便不会自动为
wlan1 ** 接口分配 IP 地址,因为我们所做的这些都不是必需的。

接下来的几行设置了我们实际的监视器界面。首先,我们向 ** mon 类型的 phy1 ** 设备添加一个新接口。

我们在这些行上使用 ** pre-up ** 命令,以便这些操作将在操作系统启动接口之前发生。

然后,我们继续删除 ** wlan1 ** 接口,因为我们在执行操作时不需要它。

使用最后一行,我们调出刚刚创建的 ** mon1 ** 接口。

allow-hotplug wlan1
iface wlan1 inet手册
前置 iw phy phy1接口添加 mon1 类型监视器
iw dev wlan1 del上前
预配置 ifconfig mon1 up

3 完成将这些行添加到文件后,现在应该通过按 ** CTRL ** + ** X ,然后按 Y **,最后按 ENTER ** 保存它。

4 现在,我们已经完成了这些更改,我们需要通过运行以下命令来重新启动树莓派。

sudo reboot

5 树莓派重新启动后,让我们继续使用以下命令检查网络配置。

ifconfig

6 从此命令中您应该看到 ** mon1:** 接口出现在网络配置列表中。

如果列表中确实出现了 ** mon1:**,则对接口文件的更改正在起作用,您现在可以继续本教程。

从 Repo 安装 Kismet 无线监控工具

1 要从其存储库安装 Kismet ,我们需要下载其 GPG 密钥并将其添加到我们的软件包密钥管理器中。

我们还需要添加 Kismet 的存储库,以便将其作为可用的源存储库读入。为此,我们在 **/sources.list.d/** 目录中创建一个包含 URL 的文件。

运行以下两个命令以添加 GPG 密钥以及新的源。

wget -O-https://www.kismetwireless.net/repos/kismet-release.gpg.key | sudo apt键添加-
echo "deb https://www.kismetwireless.net/repos/apt/release/stretch拉伸主体"| sudo tee /etc/apt/sources.list.d/kismet.list

2 随着 Kismet 的软件包存储库现在可用于我们的操作系统,我们需要更新软件包列表。更新列表将从我们新添加的存储库中获取所有软件包。

要更新软件包列表,您需要在树莓派上运行以下命令。

sudo apt-get update

3 现在,我们已经成功更新了软件包存储库列表,我们可以继续将 Kismet 软件安装到我们的树莓派中。

为此,我们将需要运行以下命令。该命令将安装 Kismet 软件的最新发行版。

不要只输入 ** Kismet **,因为这是我们添加的存储库所提供的较旧的软件包。

sudo apt-get install kismet2018

4 在 Kismet 软件的安装过程中,它将创建一个新的 Kismet 用户和组,该用户和组具有特殊的特权来配置网络接口和捕获数据包。

现在,我们需要将默认的 pi 用户添加到新创建的 Kismet 组中,以便它可以正常运行该软件。

运行以下命令将 pi 用户添加到 kismet 组。

sudo usermod -aG kismet pi

5 运行 usermod 命令后,我们现在需要通过运行以下命令注销。

注销导致操作系统更新我们的用户的权限和组列表。

登出

6 重新登录后,您可以通过运行以下命令来检索用户所属的组列表。您应该在此列表中看到 ** kismet **。

团体

现在您可以继续本树莓派网络扫描仪教程的启动 Kismet 监控工具部分。

从源代码安装 Kismet 无线监控工具

1 现在我们已经正确设置了 ** mon1 ** 接口,我们需要安装编译称为 Kismet 的软件所需的软件包。

要安装 Kismet 软件所需的所有软件包,您需要在树莓派上运行以下命令集。

我们将安装分为多个命令,以便更轻松地键入或复制和粘贴。

sudo apt-get install -y build-essential git libmicrohttpd-dev pkg-config zlib1g-dev
sudo apt-get install -y libnl-3-dev libnl-genl-3-dev libcap-dev libpcap-dev libncurses5-dev
sudo apt-get install -y libnm-dev libdw-dev libsqlite3-dev libprotobuf-dev libprotobuf-c-dev
sudo apt-get install -y protobuf-compiler protobuf-c-compiler libsensors4-dev
sudo apt-get install -y libusb-1.0-0-dev**2** 要编译 Kismet ,我们首先必须利用 GIT 从[其官方 GitHub ](https://github.com/kismetwireless/kismet)中获取其源代码。这样做将确保我们将运行最新版本的 Kismet 。

为此,我们需要在终端中输入以下命令。

git clone https://github.com/kismetwireless/kismet.git

3 一旦代码下载到您的树莓派中,让我们继续并进入其目录,并通过运行以下命令开始配置过程。

配置过程可确保我们拥有所有必需的软件包,并根据当前操作系统对它的编译方式进行更改。

cd基斯梅特

./configure

4 现在已将 Kismet 代码配置为在我们的树莓派上进行编译,让我们继续进行实际的编译过程。通过运行 make 命令来做到这一点。

请注意,由于树莓派的处理能力有限,因此编译过程将花费很长时间,因此现在是休息的好时机。在我们的树莓派 3B + 上,此编译过程花费了一个多小时。

使

5 树莓派完成 Kismet 的编译后,让我们将其安装到 Raspbian 。

要安装 Kismet ,我们将再次使用 ** make 程序,但要使用 Kismet 的 suidinstall **。

我们在 make 命令上使用的额外参数将安装程序并为软件创建所需的用户和组。

sudo make suidinstall

6 Kismet 的安装过程完成后,我们需要将 ** pi ** 用户添加到 kismet ** 组中。此额外的步骤归因于 Kismet 软件所需的权限。

运行以下命令,将用户 pi 添加到 kismet 组。

sudo usermod -aG kismet pi

7 要刷新当前用户的网上论坛列表,您需要先注销然后再重新登录。

要注销树莓派,可以使用以下命令。

登出

8 重新登录后,通过运行以下命令检查当前用户的组。

团体

您应该在此命令生成的组列表中看到 ** kismet **。如果看不到,请确保正确输入了第 6 步中显示的命令。

启动 Kismet 监控工具

1 在开始 Kismet 之前,让我们通过运行以下命令为其创建配置文件。

Kismet 启动时将读取此配置文件,并利用我们指定的源来扫描流量。

从源代码编译

sudovim/usr/local/etc/kismet_site.conf

从存储库安装

sudo vim /etc/kismet/kismet_site.conf

2 在此文件中,输入以下两行。

这些行告诉 Kismet 使用我们的 ** mon1 接口作为无线连接的数据源,还使用 hci0 ** 接口作为监视 [蓝牙连接] 的数据源。

如果您使用的 Pi 不支持蓝牙,请忽略第二行。

来源= mon1
来源= hci0

输入各行后,您可以通过按 ** CTRL ** + ** X ,然后按 Y **,最后按 ENTER ** 保存文件。

3 要连接到 Kismet 的 Web 界面,您需要找到树莓派的本地 IP 地址,以便可以通过 Web 浏览器访问它。

要查看树莓派的本地 IP 地址,可以使用以下命令。

主机名-I

4 现在,我们已经获取了树莓派的本地 IP 地址,我们现在可以继续启动 Kismet 服务器,以便我们可以通过其 Web 界面访问它。

要启动 Kismet 服务器,您需要在树莓派上运行以下命令。

基斯梅特

5 Kismet 监视工具启动后,继续打开收藏的 Web 浏览器并转到以下 URL 。

确保将下面的示例 IP 替换为在本节的步骤 1 中获得的 IP 。这样做应该加载我们在树莓派上运行的 Kismet 网络扫描仪接口。

http://192.168.0.145:2501

使用 Kismet 监控工具

1 首次加载 Kismet 的网络界面时,系统会要求您输入新的登录详细信息。设置一个容易记住的用户名和密码 (1 ),然后按”** Save “(**2 ) 按钮。

2 设置用户名和密码后,将显示以下屏幕。

如果您需要使用尚未登录的网络浏览器登录,则需要先通过单击 `` 设置’’按钮进入设置屏幕,如下所示。

3 进入” 设置” 屏幕后,将出现以下屏幕。该屏幕说明为每个浏览器保存了 UI 设置,例如” 登录名和密码”。
要继续操作,请单击左侧栏中的 `` 登录名和密码’’选项卡,如以下屏幕截图中突出显示的那样。

4 在这里,输入您在本节的步骤 1 ** 中设置的用户名密码 **(1 )。

输入正确的用户名和密码后,请按模态右下角的 `` 保存更改’’按钮 (2 )。

正确设置所有内容后,您可以按”** X “(**3 ) 关闭设置框。

5 您现在应该看到该表已经填充了 WiFi 适配器和 Bluetooth 适配器可以找到的所有 WiFi 设备和 Bluetooth 设备。

通过单击表中的特定设备,可以找到更多信息。

单击设备将显示” 设备详细信息” 屏幕,其中提供了有关该设备的更多信息。这包括下载 ** pcap **(数据包捕获) 文件的功能。

6 您还可以管理用于通过 Web 界面捕获数据的设备。该界面将允许您启用更多设备或更改正在扫描的频率。

首先,通过按左上角的 `` 汉堡包’’图标打开菜单。

7 现在,在弹出菜单中,单击 ** Data Sources ** 按钮,如下面的屏幕快照所示。

8 现在我们位于 `` 数据源’’设置页面中,我们可以看到所有可用的数据源,包括之前在配置文件中启用的数据源。

旁边带有” 可用接口” 的任何接口意味着可以将其启用为活动数据源。请注意,这并不意味着它将正常工作,并且在启用后可能会引发错误。

例如,如果您使用的是使用内置 WiFi 芯片的 Pi ,请确保未启用 ** wlan0 。否则,由于缺乏进入监控 ** 模式的​​能力,将会出现大量错误。

9 单击已启用的界面后,您将获得更多选择。这些选项将使您能够更好地配置数据源,以仅捕获所需的信息。

例如,使用无线监视器,您可以指定要收听的频道,以及是否应将自己锁定到某个频道。

此外,您可以暂停任何活动的数据源。

10 现在,您应该对如何查看 Kismet 收集的数据有所了解。这包括如何启用,禁用和修改数据源。

在本教程的下一部分中,了解如何使 Kismet 在启动时启动。

在启动时启动网络扫描仪

1 让 Kismet 在启动时启动是一个简单的过程,如果您的树莓派网络扫描仪随机重启,则非常重要。

如果您是通过其存储库安装 Kismet 的,则可以跳至” 步骤 2 “。否则,如果您编译了源代码,请执行此步骤。

首先,我们需要将服务复制到 systemd 文件夹中。您可以通过运行以下命令在树莓派上执行此操作。

sudo cp /home/pi/kismet/packaging/systemd/kismet.service/lib/systemd/system /

2 现在,在继续使用 systemd 服务文件之前,我们需要对其进行一些更改,以便它将使用我们的 pi 用户而不是 root 用户。

通过运行以下命令开始在树莓派上编辑服务文件。

sudo systemctl编辑主键

3 在此空白文件中,输入以下行。

这些行将覆盖服务的默认设置,并使其利用我们的 pi 用户而不是 root 用户。

[服务]
用户= pi
组= kismet

4 现在,您可以通过按 ** CTRL ** + ** X ,然后按 Y **,最后按 ENTER ** 保存此文件。

5 现在,我们已经复制了 Kismet 服务文件,并创建了一个定义用户和组的替代,我们可以进入下一个阶段。

下一阶段涉及启用服务文件。启用服务非常容易,只需输入以下命令即可。

sudo systemctl启用 kismet 

6 启用了 Kismet 服务后,我们也要启动它。这将测试服务以确保一切正常。

通过输入以下命令,Kismet 将启动,您应该能够再次通过 Web 界面访问它。

sudo systemctl启动基西埃**7** 启动 Kismet 服务后,我们可以随时在您的树莓派上使用以下命令来检查其状态。
sudo systemctl状态指示灯

如果出现文本”** Active:活动 (正在运行)**”,则说明一切正常。如果出现其他内容,请检查提供的日志以查看程序打印出的最后一条消息。

8 要查看是否一切正常,最后的测试是通过运行以下命令来重新启动树莓派。

sudo reboot

如果一切正常,您应该能够在树莓派重新启动后连接到 Kismet 的 Web 界面,而不必手动重新启用该软件。

我希望本教程向您展示了设置树莓派网络扫描仪所需的一切。如果您有任何反馈,需要帮助或其他任何东西,请不要在下面发表评论。

分享到