编程访问“ip route show”

有没有一种方法来访问可用的信息

ip route show 

命令通过一些特殊的文件(或其他方法),输出的方式相同

 route -n 

可以从/ proc / net / route读取? 我知道我可以parsing输出,但我正在寻找更多机器可读格式的东西。

strace显示IP路由显示创build一个NETLINK_ROUTE套接字来获取: http ://man7.org/linux/man-pages/man7/netlink.7.html

你想得到什么具体的信息?

这是一个完美的事情,使用剪切,AWK拉你想要的特定领域。

例:

 ip route show | awk '{print $1 " " $9 }' 

返回networking子网和源IP。

相同的信息在“/ proc / net / route”上。 您可以检查该文件,而不是从“netstat -n”命令捕获标准输出信息。