Linux C:如何知道默认的上网接口?

2023-12-22

我想找出正在使用的默认网络。我当前的方法是查找所有 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 etc.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux C:如何知道默认的上网接口? 的相关文章

随机推荐