我有用C编写的代码。我想使用存储在路由表中的C代码信息。有可能吗?
答案 0 :(得分:9)
您还可以运行“strace route add ...”来查看route
命令的执行方式。
在我的系统上,它使用ioctl
和SIOCADDRT
。稍微搜索了一些sample code。
奇怪的是,我找到的最好的文档来自IBM's AS400 man pages。
如果您只想阅读路由表,可以打开并阅读/proc/net/route
。 (同样,strace
表明这是route
命令的作用。)十六进制数是机器端格式的32位IP地址。试试cat /proc/net/route
。
答案 1 :(得分:5)
您可以打开netlink套接字并发送路由更新消息。关于如何执行此操作有an article。
答案 2 :(得分:1)
如果只想查询路由表,请尝试读取文件/proc/net/route
。它适用于我的系统。