不使用system命令就能在C中读取/写入路由表吗?

问题描述

| 我有用C编写的代码。我想使用存储在路由表中的C代码信息。可能吗?     

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...