ioctl()函数获取本机IP、MAC

原创 2012年08月30日 18:29:22
#include <sys/ioctl.h>
int ioctl(int d, int request, ...);
/* Socket configuration controls. */
#define SIOCGIFADDR 0x8915    /* get PA address */
#define SIOCSIFADDR 0x8916    /* set PA address */
#define SIOCGIFHWADDR 0x8927  /* Get hardware address */
struct ifreq,Interface request structure,在头文件<net/if.h>

#include <stdio.h>
#include <unistd.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <string.h>
#include <sys/ioctl.h>
#include <net/if.h>

int main()
{
    int sock;
    int res;
    struct ifreq ifr;

    sock = socket(AF_INET, SOCK_STREAM, 0);
    strcpy(ifr.ifr_name, "eth0");
    res = ioctl(sock, SIOCGIFADDR, &ifr);

    printf("IP: %s\n",inet_ntoa(((struct sockaddr_in*)&ifr.ifr_addr)->sin_addr));

    strcpy(ifr.ifr_name, "eth0");
    res = ioctl(sock, SIOCGIFHWADDR, &ifr);

    int i;
    char mac[32];
    for(i = 0; i < 6; ++i)
    {
        sprintf(mac + 3*i, "%02x:", (unsigned char)ifr.ifr_hwaddr.sa_data[i]);
    }
    printf("MAC: %s\n",mac);

    return 0;
}


linux下使用ioctl() 获取本机mac地址、ip地址等等

在linux下,我们可以通过ifconfig获取mac地址和ip地址等相关信息,dan sh
  • rookie_Algo
  • rookie_Algo
  • 2014年04月08日 01:07
  • 5661

linux 利用ioctl函数获取IP地址、子网掩码、MAC地址和修改本机IP地址、子网掩码、网关

ioctl函数原型: int ioctl(int fd, int request, ..../*void *arg*/) int fd:为socket函数返回值 int request:SIOCSIF...
  • liuzh2010
  • liuzh2010
  • 2013年09月18日 09:11
  • 3785

ioctl()函数获取本机ip,mask,mac

重点内容**1 #include
  • zouleideboke
  • zouleideboke
  • 2017年02月27日 19:16
  • 284

用ioctl设置mac地址 得到当前的ip地址,子网掩码等信息

#include /* for socket(2) and related bits and pieces */ #include /* for socket(2) */ #include ...
  • bingqingsuimeng
  • bingqingsuimeng
  • 2014年10月13日 14:57
  • 1319

js获取本机ip地址、mac地址、机器名

只在IE中适用 WMI Scripting HTML document.forms[0].txtMACAddr.value=unescape(MACAddr); document.forms[0...
  • god_7z1
  • god_7z1
  • 2014年11月24日 12:30
  • 1329

Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip 、获取本地主机的名字

struct ifreq { #define IFHWADDRLEN 6 union { char ifrn_name[IFNAMSIZ]; } ifr_ifrn; un...
  • u011425939
  • u011425939
  • 2017年05月25日 11:38
  • 634

python 使用ioctl() 获得网卡IP 和MAC地址

自从使用了Python,便对其爱不释手。听说Python可以做任何你可以想到的事情,前些天看Linux网络的时候,看到了ioctl()这个函数的强大功能,linux下常用工具route和arp命令就是...
  • wolfzhaoshuai
  • wolfzhaoshuai
  • 2015年08月24日 18:21
  • 2679

PB得到本机的名称和IP地址MAC地址

//函数名称:         f_getip  //调用方法:         f_getip(ip_name)  //参数说明:   ip_name     :   类型:integer   ...
  • sqlove
  • sqlove
  • 2014年03月27日 14:16
  • 1409

python获取本机IP、mac地址、计算机名

在python中获取ip地址和在php中有很大不同,在php中往往比较简单。那再python中怎么做呢?我们先来看一下python 获得本机MAC地址:import... 在python中获取ip地址...
  • dai_jing
  • dai_jing
  • 2014年10月10日 15:20
  • 2618

执行【本地命令】获取本机MAC

代码: package com.test; import java.io.BufferedReader; import java.io.IOException; import java...
  • cbjcry
  • cbjcry
  • 2017年04月13日 11:07
  • 405
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ioctl()函数获取本机IP、MAC
举报原因:
原因补充:

(最多只允许输入30个字)