如何进行 netstat 以查看 C 中是否正在使用端口?

How to do a netstat to see if a port is in use in C++?

在命令提示符下,我可以运行 netstat 来查看某台机器上是否已经在使用单个端口,如下所示:

1
netstat nap | grep <portnum>

我可以在 Linux 上调用 C 中的哪些函数来查看特定端口当前是否正在使用?我宁愿不对 netstat 本身进行系统调用。


如果你这样做:

1
strace netstat nap

您可以推断 netstat 正在做什么来获取该信息。

例如:

1
2
3
4
open directory: openat(AT_FDCWD,"/proc/2073/fd", …) = 4)
get entries: getdents(4, /* 15 entries */, 32768)    = 360
read symbolic links: readlink("/proc/2073/fd/4","socket:[48395]", 29) = 14
that one was a socket connected on port 48395


原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/268843.html

(0)
上一篇 2022年6月20日 12:06
下一篇 2022年6月20日 12:06

相关推荐

发表回复

登录后才能评论