如何在 Linux 上获取已使用的端口及其状态?基本上,所有netstat
可以做的事情,但是在 C 中?
问问题
1180 次
2 回答
3
在运行 netstat 上运行strace将显示它发出的系统调用及其参数。
$ strace netstat
...
open("/proc/net/tcp6", O_RDONLY) = 3
open("/proc/net/udp", O_RDONLY) = 3
...
这通常是找出程序正在做什么或它进行的调用的好方法,如果您只需要找出在手册页上查找哪个调用,这有时比查看源代码更容易。
于 2011-12-22T22:51:06.527 回答
1
好吧,对于“netstat 可以做的一切”,你可以从它netstat
本身开始。源代码在这里:
需要注意的是,大部分内容都是netstat
从/proc
文件系统中获取的;看起来这些*_do_one
例程拥有大部分“有趣”的胆量。
于 2011-12-22T22:43:17.057 回答