使用 OS X 中的脚本嗅探网络流量

or3*_*tis 1 macos packet-capture sniffing packet-sniffers swift

我来自 linux 背景,最近购买了一台 mac。在 linux 中,我有很多用 python 编写的脚本,用于执行特定的数据包嗅探和捕获。专用的解除身份验证数据包捕获或其他无线探针。为此,我会将我的无线适配器设置为监视模式并使用 scapy 或命令

    sniff = socket.socket(socket.AF_PACKET, socket.SOCK_RAW)
Run Code Online (Sandbox Code Playgroud)

可悲的是,我发现 OS X 不支持这种嗅探方式。我知道苹果提供的机场命令和隐藏的无线嗅探器,但它们的使用非常有限。我正在寻找可以与我的脚本一起使用的东西。

我想知道是否有人想出了解决这个问题的方法。是否可以将此功能添加到 python 和 ruby​​ 等语言中?

如果没有,是否可以快速编码具有相同功能的数据包嗅探器?

小智 5

遗憾的是,我发现 OS X 不支持这种嗅探方式。

是的,它是一个 BSD 风格的操作系统,所以,它有 BSD 风格的BPF 设备,而不是 Linux 风格的 PF_PACKET 套接字。

我想知道是否有人想出了解决这个问题的方法

是的。它被称为“使用libpcap,它将在 Linux 上使用 PF_PACKET 套接字,在具有 BPF 设备的操作系统上使用 BPF 设备,并在具有其他数据包捕获机制的操作系统上使用其他机制,而不是直接使用本机操作系统机制”。

是否可以将此功能添加到诸如 python 之类的语言中

由于“此功能”的意思是“使用 libpcap”,是的它是. 您还可以使用Scapy,它提供更高级别的 API,而不仅仅是“让我获取捕获数据包的原始字节”API。

和红宝石?

是的