获取IPRouter信息,出口默认网关。

#define ROUTE_FILE_NAME "/proc/net/route"

/*

Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT 

wan1    00000000        5692550A        0003    0       0       0       00000000        0       0       0 

wan1    0000000A        00000000        0001    0       0       0       000000FF        0       0       0

br0     0022A8C0        00000000        0001    0       0       0       00FFFFFF        0       0       0

×/

int getGatewayByDevName(const char *devName, char *outText){

    outText[0] = ‘\0‘;

    char buffer[BIG_MAX_FIELD_LEN];
    char destination[NORMAL_FIELD_LEN];
    unsigned long gateway;

    FILE* f = fopen(ROUTE_FILE_NAME, "r");

    if(!f){
        return 1;
    }
    int devNamelen = strlen(devName);
    while(fgets(buffer, sizeof(buffer)-1, f)){
        if(!strncmp(buffer, devName, devNamelen)){
            sscanf(buffer, "%*s%s%lX", destination, &gateway);
            if(!strncmp(destination, "00000000", 8)){
                if (gateway != 0) {
                    sprintf(outText, "%s", inet_ntoa(*(struct in_addr*)&gateway));
                    break;
                }
            }
        }
    }

    fclose(f);

    return 0;
}

具体的头文件要包含

inet_ntoa结构体所在的头文件
时间: 2024-11-03 01:24:40

获取IPRouter信息,出口默认网关。的相关文章

动态IP无法获取默认网关,显示0.0.0.0的解决办法

IP地址使用自动获取IP方式,可以获取到IP地址和子网掩码,默认网关无法获取,显示0.0.0.0,通过修复Winsock和LSP可以解决该问题,具体步骤如下:一.修复winsock1.单击开始> “运行 , 键入 cmd ,然后单击确定:2.键入 netsh winsock reset catalog 然后按 Enter键:3.键入 netsh int ip reset reset.log 然后按 Enter键:4.重新启动计算机. 如若还不能获取默认网关,继续执行步骤二二.修复LSP1.使用3

Android在以太网下如果获取子网掩码、默认网关、DNS啊?

============问题描述============ 如题,在以太网下我只能获取到IP地址,请问有谁知道子网掩码.默认网关.DNS如果获取啊?注意在以太网连接下哦,不是wifi! ============解决方案1============ android 执行linux命令 试试看 目测不需要root权限 ============解决方案2============ EthernetDevInfo mEthInfo = mEthManager.getSavedEthConfig(); Log.

黑客获取数据信息的目的和进攻手段

进入微软.亚马逊,谷歌等美国IT企业工作人才项目,起薪40万,百度搜索(MUMCS) 黑客使用进攻取证获取凭证,如用户名和密码.这些都允许他们访问敏感数据同时能够隐瞒自己的身份,以拖延攻击时被发现的时间并避免暴露自己的行踪.黑客寻找这种以半永久记忆的形式获取存在如 RAM 内存或交换文件中的动态/非静态数据.一旦黑客获得暂时存储在明文中的用户 ID 和密码,他们就可以进入下一个等级的访问,进一步获取资源,如内部网站.文档管理系统和 SharePoint 站点,本文来自网届网. 以下为原文: "一

路由器的ip地址和主机默认网关的关系

实验拓扑图: PC0 IP:                 192.168.1.2 Submask:              255.255.255.0 Gateway:       192.168.1.1 PC1 IP:                 192.168.2.2 Submask:              255.255.255.0 Gateway:       192.168.2.1 配置过程: R2 en conf t hostname R2 int fa 1/0 no

IP地址,子网掩码,默认网关,DNS服务器知识详解(转)

转自:http://www.cnblogs.com/JuneWang/p/3917697.html 为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学习: IP地址,子网掩码,默认网关,DNS服务器是什么意思? (一)  问题解析 001.   问:  IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上

IP地址,子网掩码,默认网关,DNS服务器详解

为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学习: IP地址,子网掩码,默认网关,DNS服务器是什么意思? (一)  问题解析 001.   问:  IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上QQ,却不能打开网页,这是为什么呢> 答:  IP是32位二进制数据,通常以十进制表示,并以“.”分

网关,默认网关,自动网关,路由,网关与路由器的关系

本文内容整理自网络.包含的概念有:网关,默认网关,自动网关,路由,网关与路由器的关系. ------网关 网关实质上是一个网络通向其他网络的IP地址. 比如有网络A和网络B, 网络A的IP地址范围为"192.168.1.1~192. 168.1.254",子网掩码为255.255.255.0: 网络B的IP地址范围为"192.168.2.1~192.168.2.254",子网掩码为255.255.255.0. 在没有路由器的情况下,两个网络之间是不能进行TCP/IP

计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解

楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等概念,这些又是什么意思呢 ? 一 IP地址 概述 计算机要实现网络通信,就必须要有一个用于快速定位的网络地址.IP地址就是计算机在网络中的唯一身份ID,与现实世界中快递的配送需要有具体的住宅地址是一个道理. ip地址以圆点分隔号的四个十进制数字表示,每个数字从0到255,如某一台主机的ip地址为:1

计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解

楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等概念,这些又是什么意思呢 ? 一 IP地址 概述 计算机要实现网络通信,就必须要有一个用于快速定位的网络地址.IP地址就是计算机在网络中的唯一身份ID,与现实世界中快递的配送需要有具体的住宅地址是一个道理. ip地址以圆点分隔号的四个十进制数字表示,每个数字从0到255,如某一台主机的ip地址为:1