SwiftPCAP

SwiftPCAP 为 Swift 提供基于 libpcap 的数据包捕获功能,适用于实时和离线捕获。您可以选择处理包装在 UnsafeBufferPointer 中的数据包,或者将其复制到 [UInt8] 中的安全版本。

用法

var pcap = try SwiftPCAP.Live("en0")

// safe Swift array (copied)
var pkt: [UInt8] = p.nextPacket()

// direct usage of unsafe buffer allocated by libpcap
// note that the buffer is valid until the next call to nextPacketUnsafe, at which point
// libpcap will delete
var pkt: UnsafeBufferPointer<u_char> = p.nextPacketUnsafe()

错误

SwiftPCAP 根据 libpcap 错误抛出错误。

libpcap 会抛出两种类型的错误,一种基于 char 字符串,另一种基于 int 返回码。 SwiftPCAP 使用 pcap.h 注释中的人工可读字符串,将所有这些收集在 SwiftPCAP.Errors.errorMessage(msg: String) 下。

许可证

这是发布到公共领域的自由且不受限制的软件。

任何人都可以自由地复制、修改、发布、使用、编译、出售或分发此软件,无论是源代码形式还是编译后的二进制文件,用于任何目的,商业或非商业目的,以及通过任何方式。

在承认版权法的司法管辖区,本软件的作者或作者将本软件中的所有版权权益贡献给公共领域。 我们做出此贡献是为了广大公众的利益,并损害我们的继承人和继承者。 我们打算将此贡献作为永久放弃在版权法下对本软件的所有现在和未来权利的公开行为。

本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于适销性、特定用途适用性和不侵权保证。 在任何情况下,作者均不对任何索赔、损害或其他责任承担责任,无论是在合同、侵权行为或其他方面,由本软件引起、产生或与本软件或本软件的使用或其他交易相关。