如何使用Snort功能监视数据包?

问题描述 投票:0回答:3

我想为iOS应用程序创建一个网络入侵检测系统。主要功能是允许用户选择家庭网络(也许提示他们仅输入IP地址)并能够监视数据包,如果有任何可疑的情况,我们需要通过推送通知或电子邮件来提醒用户。我想使用开源网络入侵检测系统Snort的特性和功能。

任何建议,示例代码?!从哪里开始?

ios objective-c network-programming ip-address snort
3个回答
0
投票

我认为这是不可能的,原因有多种:

  1. 您将无法为iOS编译snort。
  2. 为了运行snort,您必须使接口(NIC)处于混杂模式,我真的认为您不能在iOS设备(iPhone,iPad等)上进行此操作,但是我从未真正研究过它,但Apple可能会出于安全目的将其锁定并加以限制,因此,如果您可以这样做,则可能必须先将设备越狱。甚至不可能将Apple笔记本电脑中的wifi卡置于监视模式,这是相似的。
  3. snort有很多依赖项,最重要的是DAQ。您可能只能监视wifi接口(即使可能无法监视),也不能监视用于蜂窝网络的接口,因为它可能是与标准以太网网卡不同的daq。

这在iOS上是不可能的,如果真的很难实现,即使您使用过,用例也不太好。即使您可以获得蜂窝卡的daq,我也不知道混杂模式是否存在,并且蜂窝网络上的所有流量是否都已加密,因此使用snort检查此模式将毫无意义。如果您可以为wifi通信量做到这一点,那么坦白地说,这可能不值得付出努力,尤其是由于当今几乎所有通信量都是加密的,因此您必须先对其进行解密,这当然是不可能的。


0
投票

根据Johnjg12的评论,我想知道您的目标。如果要制作NIDS,无论如何都可以使其独立于操作系统。如果您只考虑监视发往其的数据包的HIDS,则不需要将其置于混杂模式(对Johgj12的回应进行评论)。因此,现在这与iOS上的Snort有关。我想知道我们是否可以在VM上实现它,然后将其设置为混杂模式?话虽如此,我遇到了一个链接:https://www.securemac.com/macosxsnort.php


0
投票

VM没有本地硬件访问权限,这对于监视模式是必需的。也许IOMMU PCI直通或桥接设备可以工作。很可能可以使用适用于无线网卡的模块来编译iOS内核。我不认为这是苹果公司专有的芯片,因为在RF中具有多重技术功能的芯片并不能完全具有成本效益。我只是不确定文件系统是否阻止了OS框架中的访问或其他操作。我曾尝试使用aircrack-ng源代码在shell中本地编译linux / iOS ARM软件包,但没有任何运气。也许有人会更幸运的是,实际上可以交叉编译一个软件包并以某种方式对其进行侧面加载。

© www.soinside.com 2019 - 2024. All rights reserved.