如何以编程方式编辑路由表

2023-11-26

我正在编写一个在嵌入式平台上运行的守护程序,需要根据给定时间连接的接口来更改设备的默认路由。我怎样才能以编程方式做到这一点?我知道我可以使用 system("route del default && Route add default gateway blah");等等但是有更直接的方法吗?

更新:我通过发现 pppd 的一个补丁来解决我的特定问题,该补丁允许替换默认路由选项。该补丁还包括用于以编程方式修改路由表的代码。它包含在这个 gentoo 错误报告中http://bugs.gentoo.org/227321


查看 SIOCADDRT/SIOCDELRT ioctl(Stevens 的《Unix 网络编程》将是一个很好的参考。)

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

如何以编程方式编辑路由表 的相关文章

随机推荐

  • 如何在 Postgres 中更新插入两列之一的冲突?

    是否可以做upsert在 Postgres 9 5 中 当表中的两列之一发生冲突时 基本上我有 2 列 如果任一列引发唯一约束违规 那么我想执行更新操作 是的 并且此行为是默认行为 任何违反唯一约束的行为都会构成冲突 然后UPDATE执行如
  • 套接字和网络套接字的区别?

    我正在构建需要使用套接字连接与另一个应用程序进行通信的网络应用程序 这对我来说是新领域 所以想确保sockets不同于网络套接字 看起来它们只是在概念上相似 之所以这么问 是因为最初我计划使用 Django 作为我的项目的基础 但在我上面链
  • 更改 r 中字符串中单词的位置

    我有一个字符串向量 如下所示 gt string vec 1 XXX Snakes On A Plane Mask of the Ninja Ruslan 5 Kill Switch Buddy Holly Story The Believ
  • 如何在多台计算机上使用谷歌地图API开发Android应用程序?

    我想制作一个使用 Google 地图的 Android 应用程序 我已经安装了 Eclipse Android JDK 和 AVD Android 虚拟设备 我按照这个教程进行操作 http developer android com re
  • C# 到 F# 转换公共分部类 Device : MarshalByRefObject

    public partial class Device MarshalByRefObject internal bool FindTagName string name OneTag tag foreach FuncSect fs in l
  • python 在迭代器中重复列表元素

    有没有办法创建一个迭代器来重复列表中的元素一定次数 例如 给出一个列表 color r g b 有没有办法以以下形式创建迭代器itertools repeatlist color 7 可以产生以下列表吗 color list r g b r
  • http 400:使用多重身份验证登录用户时标头请求的大小太长

    我正在尝试 Azure AD B2C 当 MFA 关闭时 用户注册 登录正常 但是 当我打开它 用户尝试登录并提供电话号码 并通过单击 发送代码 请求短信时 我收到 Http 400 错误 请求标头的大小太长 还有其他人有这个问题吗 错误H
  • libarchive解压到指定文件夹?

    任何人都可以帮助展示使用的示例libarchive将 ZIP 文件解压到指定文件夹 看起来像提供的示例程序 untar c tarfilter c and minitar 全部将存档解压到当前工作目录 有没有办法说 提取到此文件夹及其下面
  • LINQ 中的标准差

    LINQ 是否对聚合 SQL 函数进行建模STDDEV 标准差 如果不是 最简单 最佳实践的计算方法是什么 Example SELECT test id AVERAGE result avg STDDEV result std FROM t
  • 运算符“??”是什么意思?在 Dart/Flutter 中? [复制]

    这个问题在这里已经有答案了 我看过这段代码 需要对 进行解释 我知道三元运算符 例如 然后是 true 条件 之后是 false else 条件 但是双 是什么意思 提前致谢 widget secondaryImageTop widget
  • 如何实现任何可变性的特征?

    可变性可以成为特征中的通用参数吗 我想实现类型的可变和不可变变体的特征 而不必复制和粘贴impl block trait Foo
  • 如何在 json 数据文件更改时刷新页面

    所以我有一个名为 data json 的本地文件 其中包含各种数据 我只想在 json 文件中的某些数据发生更改时刷新页面 如果您能用一些代码来解释我 我将感谢您的帮助 我在互联网上搜索 找不到合适的答案 创建一个计时器 每 X 毫秒获取
  • 如何隐藏或删除 jQuery 选择下拉列表中的选项

    我想隐藏使用 选择 插件创建的下拉列表中的某些元素 我尝试删除它 option contains Swatch 1 remove trigger chosen updated 并隐藏它 chosen results li contains
  • 如何将字典列表转换为两个列表?

    例如 persons id 1 name john id 2 name mary id 3 name tom 我想从中得到两个列表 ids 1 2 3 names john mary tom 我做了什么 names d name for d
  • Scala Play 2,将请求传递给方法

    我有一个Play 2 0 app TestController scala def foo p1 String Action implicit request gt Ok bar p1 private def bar p1 String a
  • JVM 在 libzip.so 处崩溃

    我的 JVM 总是在 libzip so 处连续意外地崩溃 我已向 Oracle 提交了该错误 但决定看看这里是否有人遇到过该问题 如果有 您是如何处理的 这是一个正在运行的网络应用程序 Linux 2 6 34 gentoo r6 1 S
  • 无法在 Windows 10 上安装 Windows SDK 7.1

    我是一名软件开发人员 拥有一台 Windows 10 电脑 我必须支持一些使用 Windows SDK 7 1 在 Visual Studio 2010 中编写的旧软件 在尝试搭建开发环境时 我已经成功安装了VS2010 并来安装Windo
  • GoogleTagManager 警告:未找到默认容器。容器需要添加到容器文件夹并添加到目标

    当尝试在我的 Swift 应用程序中实现 Google 跟踪代码管理器 v5 时 我遇到了以下警告 这给我带来了一些麻烦 GoogleTagManager 警告 未找到默认容器 需要将容器添加到容器文件夹并添加到目标 我花了比应有的时间更多
  • 无法将数据列从一个数据表复制到另一个数据表

    如何将 1 个数据表中的 1 个数据列复制到新的数据表中 当我尝试这样做时 我收到错误列 XXX 已经属于另一个数据表 dataColumn datatable1 Columns 1 datatable2 new DataTable dat
  • 如何以编程方式编辑路由表

    我正在编写一个在嵌入式平台上运行的守护程序 需要根据给定时间连接的接口来更改设备的默认路由 我怎样才能以编程方式做到这一点 我知道我可以使用 system route del default Route add default gatewa