Как сделать netstat, чтобы увидеть, используется ли порт в C ++?

Из командной строки я могу запустить netstat, чтобы увидеть, используется ли уже один порт на машине примерно так:

netstat -nap | grep <port-num>

Какие функции я мог бы вызвать в C ++ в Linux, чтобы просто увидеть, используется ли определенный порт в настоящее время или нет? Я бы предпочел не делать системный вызов для самого netstat.

1

Решение

Если вы делаете:

strace netstat -nap

Вы можете сделать вывод, что netstat делает для получения этой информации.

Например:

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
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]