我一直在查看系统配置框架参考,以了解它是否可用于查看从特定网络适配器发送的数据包数据。我看到有些类提供高级统计信息,例如:BytesIn、BytesOut。但我想捕获/监控实际的数据包。特别是 TCP/IP 数据包。我还不熟悉这个框架。这可以用来做这个吗?如果没有,任何人都可以建议一个库或本机接口可以吗?
谢谢!
我一直在查看系统配置框架参考,以了解它是否可用于查看从特定网络适配器发送的数据包数据。我看到有些类提供高级统计信息,例如:BytesIn、BytesOut。但我想捕获/监控实际的数据包。特别是 TCP/IP 数据包。我还不熟悉这个框架。这可以用来做这个吗?如果没有,任何人都可以建议一个库或本机接口可以吗?
谢谢!
通常,如果您需要接收进出线路的数据包,您需要使用bpf
Berkeley Packet Filter ( man bpf
)。它非常有能力,而且级别很低,所以不要指望它有一个objective-c接口。那里可能有一些更高级别的框架,尽管我不记得有任何关于 Objective-C 的框架。
但是,肯定有很多 unix 应用程序在使用bpf
,您可以看看。我相信OS X 中包含的古老的tcpdump使用 bpf。
当然,为了监控数据包,您需要 root 权限,因此如果您想在应用程序中执行此操作,您需要解决提高安全级别来处理此问题的问题。