我可以在不使用 system() 命令的情况下用 C 读/写路由表吗?

2024-04-21

我有用 C 编写的代码。我想使用存储在路由表中的 C 代码信息。是否可以?


您还可以运行“strace route add ...”来查看如何route命令执行此操作。

在我的系统上,它使用ioctl with SIOCADDRT。稍微搜索一下就会发现一些示例代码 http://www.linuxquestions.org/questions/linux-networking-3/how-to-add-a-gateway-address-using-ioctl-in-c-in-linux-512213/.

奇怪的是,我找到的最好的文档来自IBM 的 AS400 手册页 http://publib.boulder.ibm.com/html/as400/v4r5/ic2962/info/apis/sioctl.htm#Header_25.

如果只是想读取路由表,可以打开读取/proc/net/route。 (再次,strace表明这就是route命令执行此操作。)十六进制数字是机器字节序形式的 32 位 IP 地址。尝试cat /proc/net/route.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在不使用 system() 命令的情况下用 C 读/写路由表吗? 的相关文章

随机推荐

  • 如何在camel Rest中验证JSON请求

    我需要根据某种模式验证对骆驼休息服务的传入请求 例如 根据要求 如下所示 routeId fileBatchRoute action start sourceLocation sourceDirectory destinationLocat
  • 在c#中将金额转换为单词格式的卢比和佩斯

    我有 Windows 应用程序 需要将文本框中输入的金额转换为卢比和派斯格式的单词 例如我的金额是2356 54那么它应该显示two thousand three hundred fifty six ruppes and fifty fou
  • Android 读取大变量数组的最快方法

    在我的应用程序中 我需要找到一种更快的方法来加载大数组Integer and Float变量 什么大道 直接使用 Java 代码创建数组 这不起作用 因为我的应用程序使用的数组非常大 有 200 000 浮点值 这会导致java code
  • 如何使用 bash/expect 检查 SSH 登录是否有效

    我的团队管理着许多服务器 公司政策规定这些服务器上的密码必须每隔几周更改一次 有时 我们的官方密码数据库会因某种原因而过时 人们通常会忘记更新它 但有时我们要到几个月后才能识别这一点 因为我们并不总是使用每台服务器 我想编写一个脚本 从数据
  • 书中的短语“当前 SynchronizationContext 是当前线程的属性”正确吗?

    读完这句话后 我有点困惑 在 VS2010 的 C 应用程序代码中 当我键入Thread CurrentThread 我在 Intellisense 提供的选项下拉列表中没有找到线程的任何上下文相关属性 我知道当前的同步上下文可以通过 Sy
  • JSF f:事件可以安全地传递参数吗?

    我是 JSF 的新手 所以我对一些标签的了解不是很好 我想知道在这种情况下传递参数有多安全
  • 如何使用 JavaScript 转调音乐和弦?

    我想知道如何创建一个 javascript 函数来调换音乐和弦 由于我不希望这里的每个人都成为音乐家 因此我将尝试解释它在音乐理论中的运作方式 我希望我没有忘记什么 如果是的话 请音乐家们纠正我 1 简单和弦 简单的和弦几乎和字母表一样简单
  • 更改 Kubernetes 中的 CPU 管理器策略

    我正在尝试更改我管理的 Kubernetes 集群的 CPU 管理器策略 如上所述here https kubernetes io docs tasks administer cluster cpu management policies
  • WCF net.tcp 绑定、消息格式和安全问题

    很抱歉问了一些愚蠢的问题 但有些事情我无法理解 对于以下问题的一些建议将不胜感激 在非常基础的层面上 WCF 使用二进制 Net Tcp HTTP 或 MSMQ 在线传输消息是否正确 然而 在所有情况下 无论数据如何传输 消息本身都是带有标
  • Python 显示指向数据框的 HTML 箭头

    我创建了一个数据框 df Value Change Direction Date 2015 03 02 2117 38 NaN 0 2015 03 03 2107 79 9 609864 0 2015 03 04 2098 59 9 250
  • 如何从VBA在CMD中输入多行代码?

    我想打开一个cmd exe 然后执行几行代码 我在网上搜索了一些例子 我尝试修改的代码 strToPrint Hello World Shell cmd exe K echo strToPrint vbNormalFocus I found
  • 从命令行将 java_opts 设置为 tomcat 服务

    我有一个在Windows上运行的tomcat7服务 通常为了配置 Java 选项 我会转到 Tomcat 7 0 bin tomcat7w exe 并在 java 选项卡中 在 java 选项中打印我想要的定义 例如 javaagent 我
  • 从 .net 的角度来看,exe 和 dll 之间有什么特殊区别吗?

    我过去曾使用 net 可执行文件作为库 我只需将它们添加到 Visual Studio 中的参考中 就可以开始了 今天我对一个新的exe 实际上是我的 尝试了同样的操作 但它似乎不起作用 当我将其添加到 Visual Studio 并尝试在
  • 早期的BIOS怎么能使用CALL呢?

    我纯粹是出于爱好原因 试图理解 PC 中的一些低级代码 我为随机的旧千兆字节 MB 下载了一个过时的 BIOS ROM 映像 https www gigabyte com Motherboard GA 8I845GE775 G rev 10
  • 如何从 Internet Explorer 嵌入对象访问完整的 Adob​​e Acrobat AcroExch COM API?

    我有以下情况 Windows 7 SP1 32 位上的 Internet Explorer 9 Adobe Acrobat 专业版 10 一个网页 代码如下 鉴于 系统默认的PDF阅读器是Adobe Acrobat Adobe Reader
  • 更改特定标签的 WooCommerce 添加到购物车文本

    我正在寻找一个功能来更改 woocommerce 按钮上的 添加到购物车 文本 但前提是相关产品具有特定标签 即 如果产品具有 预购 标签 则按钮文本将更改为 立即预购 可以通过此实现全局更改文本 http docs woothemes c
  • 为什么 NSInteger 变量在用作格式参数时必须转换为 long?

    NSInteger myInt 1804809223 NSLog i myInt lt 上面的代码会产生一个错误 NSInteger 类型的值不应用作格式参数 将显式转 换添加为 long 修正后的NSLog消息实际上是NSLog lg l
  • Azure devops:将变量组作为参数传递给模板

    我在代码库中使用 Azure devops yml 管道 我在管道中创建了变量组 管道 gt 库 gt 变量组 gt 称为 MY VG 在我的管道 yml 文件中 我想将此变量组 MY VG 作为参数发送到模板 my template ym
  • Android Market 订阅付费模式。如何?

    我想要两个应用程序 一个负责实际工作 另一个负责每月付款 许可应用程序 用户必须每月从市场下载许可应用程序 但是 他们是否必须在此之前卸载上个月的应用程序 应用程序可以自动销毁自身 自行卸载 吗 你有三个选择 选项 1 您的解决方案 用户必
  • 我可以在不使用 system() 命令的情况下用 C 读/写路由表吗?

    我有用 C 编写的代码 我想使用存储在路由表中的 C 代码信息 是否可以 您还可以运行 strace route add 来查看如何route命令执行此操作 在我的系统上 它使用ioctl with SIOCADDRT 稍微搜索一下就会发现