Linux编程获取指定网口IP地址
在Linux下,我们可以使用C语言编程获取指定网口的IP地址,下面是相应的源码(可将eth0改为相应的网络结点):
      struct ifreq ifr;
      int sock;
      struct sockaddr_in saddr;
      strcpy(ifr.ifr_name, "eth0");
      sock = socket(AF_INET, SOCK_STREAM, 0);
      ioctl(sock, SIOCGIFADDR, &ifr);
      memcpy(&saddr, &ifr.ifr_addr, sizeof(ifr.ifr_addr));
      printf("%s\n", inet_ntoa(saddr.sin_addr));
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <linux/if.h>
#include <linux/if_ether.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <arpa/inet.h>
void main()
{
}
评论
发表评论