1

我想提供一个用户空间函数,通过实现内核扩展来获取 TCP 连接统计信息。通过检查 TCP 源,我看到 tcpcp 结构包含这样的统计信息。给定来自用户空间的套接字句柄,我如何通过内核扩展获取关联的 tcpcb 结构并将统计信息返回给用户空间?

4

1 回答 1

1

直接回答这个问题:我相信如果不使用一些私有标头来获取所涉及结构的内存布局,您将无法从 kext 获取此信息。如果/当 Apple 更改这些结构的布局时,这将中断。

但是,看起来您并不真正关心 kext 方面并且乐于从用户空间获取信息,所以您调查过TCPCTL_PCBLISTsysctl 吗?这为您提供了系统中 TCP 连接的 CB,并且该xtcpcb64结构确实包含您所追求的字段。但是,对于您的目的,此机制可能不够精细。

于 2015-07-08T18:58:36.940 回答