Linux c入手可能IP

  

Linux入手可能IP IP

#include< stdio.h>

#include< sys /types.h>

#include< sys /socket.h>

#include< sys /ioctl.h>

#include< netinet /in.h>

# < net /if.h>

#include< net /if_arp.h>

#include< arpa /inet.h>

#include< ; errno.h>

#define ETH_NAME" eth0>

int main()

{

int sock;

struct sockaddr_in sin;

struct ifreq ifr;

sock = socket(AF_INET、SOCK_DGRAM、0);

if(sock == -1)

{

perror(" socket");

return -1;

}

strncpy(ifr.ifr_name、ETH_NAME、IFNAMSIZ);

ifr.ifr_name [IFNAMSIZ - 1] = 0;

if(ioctl(sock、SIOCGI) FADDR、& ifr)< 0)

{

perror(" ioctl");

return -1;

memcpy(& 2) sin、& ifr.ifr_addr、sizeof(sin));

printf(" eth0:%s \\ n"、inet_ntoa(sin.sin_addr));

return 0;

}

Copyright © Windowsの知識 All Rights Reserved