使用Jupyter分析Wi-Fi数据

在嗅探Wi-Fi时,Wireshark是跨平台的,能够捕获大量数据。 弄清这些数据完全是另一项任务。 这就是Jupyter Notebook的用武之地。它可以帮助分析Wi-Fi数据包,并确定特定电话以前连接过的网络,从而使我们可以了解所有者的身份。

https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lJd04ySTNORFF6WW1KaU9EUTBZMlprWWpsbFpEaGtNVGRrWmpFd04yVTVZeUlzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9

总体而言,数据可能会造成混乱,尤其是当数据很多时,这既是福也是祸。 它使它更有可能包含重要的模式,但也更有可能使它们模糊不清。 在原始数据中寻找有意义的模式就像在大海捞针一样,但是用于大数据分析的免费工具(例如Jupyter Notebook)使事情变得更加轻松。

Wireshark应用于Wi-Fi数据

Wireshark是用于收集Wi-Fi数据的令人难以置信的工具,它可以快速将信息填充到屏幕上。 这些数据可以告诉您很多信息,具体取决于您要查找的内容,但是通常说来太多,以至于无法轻松识别模式。 Wireshark确实具有用于分析数据的内置方法,但是共享结果可能很困难,并且Wireshark内置的工具可能无法告诉您所需的信息。

您可以从Wireshark捕获中获取的数据类型包括在附近发送或接收的每个设备的MAC地址,有关哪些客户端当前连接到哪些网络的信息,甚至还包括附近客户端过去已连接的网络的信息。

Jupyter用于数据分析

在Wireshark中收集信息后,我们可以将其导出为CSV文件并将其导入Jupyter Notebook。 这样做的好处是,我们可以使用Python的Pandas库快速剖析Wireshark生成的数据。 该库可以将CSV文件作为数据框架使用,可以轻松地绘制数据图形和图表以显示关系。

使用Jupyter Notebook的好处之一就是挖掘信息以获取洞察力是多么容易。 数据与情报之间的一个显着区别是将数据处理成洞察力,这就是在Jupyter中处理数据所允许的。

在我们的示例中,我们将使用Jupyter Notebook检查公共流量上的Wireshark捕获。 在捕获中,我们记录了响应Arduino“信标垃圾信息发送器”sketch的设备,该设备创建了40个带有流行开放网络名称的伪Wi-Fi AP。 任何已加入与伪名称相同名称的热点的设备都将尝试连接。 我们可以在Jupyter Notebook中记录这些响应并将其绘制成图形,以了解哪些伪网络导致最多的手机做出反应,以及每个手机过去连接过哪些伪网络名称。

需求

导出Wireshark捕获为CSV文件

首先,我们将在Wireshark中获取一个PCAP文件,并将其转换为CSV文件以在Jupyter Notebook中使用。 为此,请在Wireshark中打开捕获,然后通过右键单击要添加的字段并选择“应用为列”,将数据包中所需的所有数据添加到列中。

最后,是时候导出我们选择的数据包了。在“文件”下,单击“导出数据包解剖”,然后选择“作为CSV”以正确的格式导出。

在这里,您可以命名文件并指定是要导出显示的数据包还是捕获中的所有数据包。

完成后,应将包含数据的CSV文件保存到您的计算机,以准备导入Jupyter Notebook。

安装Jupyter并打开一个新笔记本

Jupyter是一个用Python编写的数据分析程序,它可以很容易地在安装了Python3的任何计算机上安装。您可以通过在新的终端窗口中运行以下命令来执行此操作。

安装Jupyter后,我们可以运行它来创建Web界面并自动打开它。 为此,请键入以下内容。 如果您以root用户身份运行,则系统会提示您不建议这样做,您可以选择继续或切换帐户。

应打开一个网络浏览器,使您可以选择以前的项目或打开一个新的项目。