问题描述
|
我有用C编写的代码。我想使用存储在路由表中的C代码信息。可能吗?
解决方法
您可以打开一个netlink套接字并发送路由更新消息。有一篇有关如何执行此操作的文章。
, 您也可以运行\“ strace route add ... \”来查看
route
命令的执行方式。
在我的系统上,它使用ioctl
和SIOCADDRT
。稍作搜索就会得到一些示例代码。
奇怪的是,我发现的最佳文档来自IBM的AS400手册页。
如果您只想阅读路由表,则可以打开并阅读/proc/net/route
。 (同样,strace
表示route
命令是这样做的。)十六进制数是机器尾数形式的32位IP地址。试试cat /proc/net/route
。
, 如果只想查询路由表,请尝试读取文件“ 3”。它在我的系统中有效。