如何在Linux上使用已使用的端口及其状态?基本上,netstat
可以做的所有事情,但在C?
答案 0 :(得分:3)
在一系列netstat上运行strace将显示它所进行的系统调用及其参数。
$ strace netstat
...
open("/proc/net/tcp6", O_RDONLY) = 3
open("/proc/net/udp", O_RDONLY) = 3
...
这通常是查找程序正在执行的操作或进行的调用的好方法,如果您只需查找要在手册页上查找的调用,有时可能比查看源代码更容易。
答案 1 :(得分:1)
好吧,对于“netstat可以做的所有事情”,你可以从netstat
本身开始。源代码在这里:
应该注意netstat
所做的大部分内容,它来自/proc
文件系统;看起来*_do_one
例程占据了大部分“有趣”的内容。