gpt4 book ai didi

linux - 在 netstat 中检索套接字状态的系统调用是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:47 28 4
gpt4 key购买 nike

在 netstat 中检索套接字状态的系统调用是什么?我实际上对 netstat 的实现方式并不感兴趣,而是对哪些系统调用可以检索该信息感兴趣。 getsockopt() 似乎获取的是套接字的静态信息,而不是套接字的动态/运行状态。

ssnetstat 似乎采用不同的方法,根据 iproute document说:

This utility presents a new approach, which is supposed to scale well. I am not going to describe technical details here and will concentrate on description of the command. The only important thing to say is that it is not so bad idea to load module tcp_diag, which can be found in directory Modules of iproute2. If you do not make this ss will work, but it falls back to /proc and becomes slow like netstat, well, a bit faster yet (see section "Some numbers").

ss是否使用一些系统调用来获取套接字的运行状态?

最佳答案

它使用“netlink 协议(protocol)”从网络堆栈(内核中的传输层引擎)累积数据。

netlink 协议(protocol)比它更通用,因此为了完整性起见,我们不仅涵盖了套接字统计信息。

特别是对于套接字[ http://man7.org/linux/man-pages/man7/sock_diag.7.html][sockdiag]子系统。

最近也有 ss 的实现,例如[ https://github.com/svinota/pyroute2/blob/master/cli/ss2][ss2]在 python 。从那里开始,细读它,获得要点就更简单了。

干杯。

关于linux - 在 netstat 中检索套接字状态的系统调用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54962013/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com