我想找出使用的默认网络。 我目前的方法是要找到所有的IP地址,并将其与默认网关的IP地址,但听起来很愚蠢。 什么是这样做的正确方法是什么?
UPDATE
我想用一个C程序,而不是命令...
我想找出使用的默认网络。 我目前的方法是要找到所有的IP地址,并将其与默认网关的IP地址,但听起来很愚蠢。 什么是这样做的正确方法是什么?
UPDATE
我想用一个C程序,而不是命令...
你可以尝试一个稍微脏,但无限更简单的方法:
cnicutar@lemon:~$ ip route show to 0.0.0.0/0
default via X.Y.Z.T dev eth0 proto static
^^^^
所以,你可以尝试:
FILE *cmd = popen("ip route show", "r");
fgets(str, LEN, cmd);
然后你可以使用strtok
, strstr
等等。