在c ++中以便携方式获取路由表

rbe*_*ede 1 c++ networking portability

我需要以便携方式获取机器的路由表.我正在使用C++,如果有帮助,Boost库已经可用了.

不调用外部命令,如"route",因为它不可移植,外部命令可能不可用.

Wes*_*ker 5

当然,调用route是不可取的,因为分叉和执行很少是这样的.

不幸的是,我可以告诉你[作为Net-SNMP项目的创始人,我们在C中报告许多平台的路由],没有平台独立的方式.您需要了解每个人如何存储信息以及如何访问信息.在linux中的EG,你可以从/ proc获得它.在其他操作系统中,您可以通过API调用获取它.你不太可能很高兴发现你想要的东西不存在.然后,您甚至会发现一些可能在IPv4和IPv6之间存在差异的平台!

但是,您可以随意浏览Net-SNMP代码并查找在那里完成的所有方法.看到agent/mibgroup/ip-forward-mib/data_access/agent/mibgroup/mibII/var_route.c开始.