linux下使用netlink获取gateway的IP地址

要在linux下的程序中获取gateway的IP地址,使用netlink是一种直接、可靠的方法,不需要依赖其它命令,直接从linux内核获取信息,netlink编程的中文资料很少,本文试图用尽可能简单的方式讨论使用netlink获取gataway的IP地址的编程方法,并有大量篇幅介绍netlink的相关数据结构和编程方法,假定阅读本文的读者对linux下编程有一定了解,具备一定的C语言能力,熟悉IPv4的socket编程。


在linux编程的资料中,netlink编程的资料并不多,但netlink编程显然是本文无法越过的一道坎,所以下面需要用一定篇幅对netlink编程做个介绍;本文的最终目标是使用netlink这种与linux内核通信的机制,从内核获得路由表并从中找到gateway的IP地址。在具体实践中,获取路由表或者获取gateway的IP地址通常并不需要使用netlink编程实现,这种方法对应用层编程来说显得有些繁琐,本文主要还是作为netlink编程的一个范例,并以此为题介绍一些netlink的编程方法;有关其它获取gateway的IP地址的方法,请参见另一篇文章《从proc文件系统中获取gateway的IP地址》

1. netlink socket及netlink消息结构

  • netlink socket

    • netlink是一个socket,所以它的编程与普通的socket编程类似
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

whowin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值