回文章列表
作者kenduest.bbs@bbs.sayya.org (小州) 看板: linux
標題Re: [問題] 如何用C語言,取得本機的gateway和DNS資訊…
時間SayYA 資訊站 (2008/07/19 Sat 23:31:31)
  取得 ip 部份,程式碼如下:

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

int main (int argc, char **argv)
{
  int i, socket_h;
  char *ip;

  struct ifreq ifr;
  struct sockaddr_in *sin = (struct sockaddr_in *) &ifr.ifr_addr;

  sin = (struct sockaddr_in *) &ifr.ifr_addr;
  socket_h = socket (PF_INET, SOCK_STREAM, 0);

  for (i=1;;i++)
  {

    ifr.ifr_ifindex = i;
    if (ioctl (socket_h, SIOCGIFNAME, &ifr) < 0)
      break;

    if (ioctl (socket_h, SIOCGIFADDR, &ifr) < 0)
      continue;

    ip = inet_ntoa (sin->sin_addr);
    printf ("%s: %s\n", ifr.ifr_name,ip);
  }

  close (socket_h);
  return 0;
}


--
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

   現代人普遍的現象:  「小學而大遺」、「捨本而逐末」
                      「以偏而概全」、「因噎而廢食」
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
※ Origin: SayYA 資訊站 <bbs.sayya.org> 
◆ From: kendlee.sayya.org
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻