当前位置: 首页 > news >正文

从proc文件系统中获取gateway的IP地址

在linux的命令行下获取当前网络环境的gateway的IP并不是一件难事,常用的命令有ip route或者route -n,其实route -n也是通过读取proc文件系统下的文件来从内核获取路由表的,但ip route是通过netlink来获取的路由表;本文将讨论如何编写程序从proc文件系统中获取路由表,并从路由表中获取gateway的IP地址,文章最后给出了完整的源程序。

1. 为什么要获取网关的IP地址

以前写过一些与raw socket有关的文章,在使用raw socket发送报文的时候,是需要自己构建以太网报头的,以太网报头中是要填写源地址和目的地址的MAC地址的,源地址的MAC地址就是本机的MAC地址,可以使用ioctl解决,但是目的地址的MAC地址就不好办了,如果是局域网内,我们可以通过arp获取目的地址的MAC地址,因为我们是知道目的地址的IP的,但是如果目的地址在局域网外,我们就要在以太网报头中填写gateway的MAC地址,这时候我们就一定要知道gateway的IP地址,然后通过arp cache获取gateway的MAC地址;

获得了gateway的IP地址以后,可以很容易地从本地arp cache中获得MAC地址的,因为gateway的MAC地址一定会在本地arp cache中,有关如何在操作arp cache,可以参考我的另一篇文章《如何用C语言操作arp c

http://www.lryc.cn/news/32971.html

相关文章:

  • 【LeetCode】剑指 Offer(17)
  • MySQL索引类型
  • 你了解HashMap吗?
  • 我一个女孩子居然做了十年硬件……
  • 【Linux】编译器gcc g++和调试器gdb的使用
  • 高效能自动化港口数字化码头智慧港航,中国人工智能企业CIMCAI世界港航人工智能领军者,成熟港口码头人工智能产品中国人工智能企业
  • HTTP协议(一)
  • 计算神经网络参数量Params、计算量FLOPs(亲测有效的3种方法)
  • sizeof与一维数组和二维数组
  • Spark UI
  • windows应用(vc++2022)MFC基础到实战(2)
  • 记一次反射型XSS
  • BUUCTF-[羊城杯 2020]Bytecode
  • 《Uniapp入门指南:从安装到打包的全流程》
  • 机器学习算法集成系统
  • scratch绘制雷达 电子学会图形化编程scratch等级考试三级真题和答案解析2022年9月
  • VRRP主备备份
  • 【软件逆向】软件破解?病毒木马?游戏外挂?
  • curl请求常用参数和返回码
  • 【STM32】进阶(一):抢占式优先级和响应式优先级(NVIC_PriorityGroupConfig)
  • LogCompilation后JIT输出文件格式解析
  • Linux学习第二十四节-Podman容器
  • 基于quartz实现定时任务管理系统
  • vue-element-admin:基于element-ui 的一套后台管理系统集成方案
  • KVM-7、KVM 虚拟机创建的几种方式
  • Hadoop三大框架之HDFS
  • 好好的系统,为什么要分库分表?
  • 多种调度模式下的光储电站经济性最优储能容量配置分析(Matlab代码实现)
  • 二分法(适用于任何题型!!!)
  • js常见的七种继承及实现