一般如何判断客户端是否分配了静态IP或者它是dhcp客户端

In general How to find out whether client has assigned static Ip or it is dhcp client

我已经使用 ioctl() 系统调用检索了 IP、子网和广播。 谁能帮我找出客户端是静态的还是 dhcp 的?? 我一般询问并使用系统调用。一切都是关于客户端而不是界面。

接口本身与dhcp无关。它可以配置为具有特定的 IP 地址、网关等,但仅此而已。然而,这个配置可以用一个叫做 dhcp 客户端的智能小程序来完成 :) 所以你需要的是找出谁(我的意思是哪个程序)配置了你的接口。

更新:

例如,在大多数 linux 发行版下,您可以执行

ps aux | grep 'dhcpcd .* eth0'

如果它给出类似

的结果
/sbin/dhcpcd --netconfig -L -E -HHH -c /etc/sysconfig/network/scripts/dhcpcd-hook -t 0 -h somehostname eth0

可以说eth0配置了dhcp

在c中使用系统命令

猫/etc/network/interfaces

这会在屏幕上显示网络信息 txt

但首先您需要设置权限,并且要获得您在 linux 系统

上的用户或组的权限