在FreeBSD上读取路由表

Gen*_*ent 6 porting network-programming freebsd routes

我正在将一个从Linux移植到FreeBSD的应用程序需要查看网络路由表(Linux上的"路由"或FreeBSD上的"netstat -r").

在Linux上,应用程序只需读取/ proc/net/route和/ proc/net/inet6_route.

在FreeBSD上以编程方式执行此操作的最佳方法是什么?

sig*_*ice 3

这在手册页route(4)中有记录。基本上,你read()write()一个PF_ROUTE 套接字。您可以查看/sbin/route源作为示例。