青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統(tǒng)計(jì)

最新評(píng)論

域名,ip相互轉(zhuǎn)換(Linux,getaddrinfo, getnameinfo)--- 轉(zhuǎn)

參考鏈接:

http://en.wikipedia.org/wiki/Getaddrinfo

代碼:

 

01/* ip_to_hostname ip */
02#include <sys/types.h>
03#include <sys/socket.h>
04#include <netdb.h>
05#include <unistd.h>
06#include <stdio.h>
07#include <stdlib.h>
08#include <string.h>
09 
10int main(int argc, char *argv[])
11{
12        if (argc != 2)
13        {
14                fprintf(stderr, "Usage: %s hostname\n", argv[0]);
15                exit(EXIT_FAILURE);
16        }
17        struct addrinfo hints;
18        struct addrinfo *result, *result_pointer;
19        int ret;
20        /* obtaining address matching host */
21        memset(&hints, 0, sizeof(struct addrinfo));
22        hints.ai_family = AF_UNSPEC;
23        hints.ai_socktype = SOCK_STREAM;
24        hints.ai_flags = AI_CANONNAME | AI_NUMERICHOST;
25        hints.ai_protocol = 0;  /* any protocol */
26 
27//      ret = getaddrinfo(argv[1], NULL, &hints, &result);                                                                                                            
28        ret = getaddrinfo(argv[1], NULL, &hints, &result);
29        if (ret != 0)
30        {
31                fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(ret));
32                exit(EXIT_FAILURE);
33        }
34        /* traverse the returned list and output the ip addresses */
35        for (result_pointer = result; result_pointer != NULL; result_pointer = result_pointer->ai_next)
36        {
37                char hostname[1025] = "";
38                ret = getnameinfo(result_pointer->ai_addr, result_pointer->ai_addrlen, hostname, sizeof(hostname), NULL, 0, NI_NAMEREQD);
39                if (ret != 0)
40                {
41                        fprintf(stderr, "error in getnameinfo: %s \n", gai_strerror(ret));
42                }
43                else
44                {
45                        printf("hostname: %s \n", hostname);
46                }
47//              printf("hostname: %s \n", result_pointer->ai_canonname);                                                                                              
48        }
49        freeaddrinfo(result);
50        exit(EXIT_SUCCESS);
51}

 

 

01/* hostname_to_ip hostname */
02#include <sys/types.h>
03#include <sys/socket.h>
04#include <netdb.h>
05#include <unistd.h>
06#include <stdio.h>
07#include <stdlib.h>
08#include <string.h>
09 
10int main(int argc, char *argv[])
11{
12        if (argc != 2)
13        {
14                fprintf(stderr, "Usage: %s hostname\n", argv[0]);
15                exit(EXIT_FAILURE);
16        }
17        struct addrinfo hints;
18        struct addrinfo *result, *result_pointer;
19        int ret;
20        /* obtaining address matching host */
21        memset(&hints, 0, sizeof(struct addrinfo));
22        hints.ai_family = AF_UNSPEC;
23        hints.ai_socktype = SOCK_STREAM;
24        hints.ai_flags = AI_CANONNAME;
25        hints.ai_protocol = 0;  /* any protocol */
26 
27//      ret = getaddrinfo(argv[1], NULL, &hints, &result);                                                                                                            
28        ret = getaddrinfo(argv[1], NULL, &hints, &result);
29        if (ret != 0)
30        {
31                fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(ret));
32                exit(EXIT_FAILURE);
33        }
34        /* traverse the returned list and output the ip addresses */
35        for (result_pointer = result; result_pointer != NULL; result_pointer = result_pointer->ai_next)
36        {
37                char hostname[1025] = "";
38                ret = getnameinfo(result_pointer->ai_addr, result_pointer->ai_addrlen, hostname, sizeof(hostname), NULL, 0, NI_NUMERICHOST);
39                if (ret != 0)
40                {
41                        fprintf(stderr, "error in getnameinfo: %s \n", gai_strerror(ret));
42                        continue;
43                }
44                else
45                {
46                        printf("IP: %s \n", hostname);
47                }
48        }
49        freeaddrinfo(result);
50        exit(EXIT_SUCCESS);
51}

 

結(jié)果:

root@localhost :/home/James/mypro/Linux-Pro/Network# ./hostname_to_ip baidu.com
IP: 123.125.114.144
IP: 220.181.111.85
IP: 220.181.111.86
root@localhost :/home/James/mypro/Linux-Pro/Network# ./ip_to_hostname 220.181.111.86
error in getnameinfo: Name or service not known
root@localhost :/home/James/mypro/Linux-Pro/Network# ./ip_to_hostname 10.0.0.78
hostname: localhost

root@localhost:/home/James/mypro/Linux-Pro/Network# ./ip_to_hostname 59.66.137.62
hostname: th137062.ip.tsinghua.edu.cn
root@localhost:/home/James/mypro/Linux-Pro/Network# ./ip_to_hostname 202.106.182.229
hostname: mail182-229.sinamail.sina.com.cn
root@localhost:/home/James/mypro/Linux-Pro/Network# ./ip_to_hostname 211.147.4.7
hostname: mail3.douban.com

posted on 2012-11-12 14:44 大龍 閱讀(4190) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二区三区在线看| 99精品99久久久久久宅男| 欧美一级在线视频| 一区二区三区精品久久久| 国产精品国产三级国产专播品爱网 | 亚洲欧美综合v| 黄色成人在线观看| 蜜桃av一区| 欧美精品 国产精品| 亚洲少妇自拍| 午夜影视日本亚洲欧洲精品| 亚洲专区欧美专区| 亚洲精品在线免费观看视频| 欧美日韩视频免费播放| 香蕉视频成人在线观看| 久久免费高清| 国产精品欧美日韩一区| 久久久7777| 欧美黄色精品| 欧美一区二区三区婷婷月色| 久久青草久久| 午夜精品电影| 免费日韩成人| 性久久久久久久| 女同一区二区| 久久久国产精品一区二区三区| 久久亚洲一区二区三区四区| 亚洲私人影院在线观看| 久久免费精品视频| 亚洲午夜久久久久久久久电影院| 亚洲欧美在线免费| 一区二区三区欧美在线| 久久爱www.| 亚洲一区在线播放| 免费成人黄色| 久久天堂国产精品| 国产精品久久久久久久电影| 久久亚洲视频| 国产乱码精品一区二区三区av| 欧美成人首页| 国产一区二区三区在线观看精品| 亚洲日韩欧美视频一区| 国产欧美一区二区精品婷婷| 91久久在线观看| 在线观看欧美激情| 欧美一区二视频| 亚洲欧美伊人| 欧美日韩在线一区二区三区| 亚洲成人资源| 欧美精品一区二区三区蜜臀 | 国精品一区二区| 在线视频中文亚洲| 一本一本a久久| 男人的天堂亚洲在线| 久热精品在线视频| 国产日韩欧美一区二区三区在线观看| 亚洲精品日本| 日韩午夜电影| 欧美91大片| 亚洲高清不卡| 91久久嫩草影院一区二区| 久久精品国产一区二区三区| 久久久国产视频91| 国内精品写真在线观看| 久久黄金**| 久久影视三级福利片| 好吊视频一区二区三区四区| 欧美一二三视频| 久久久精品999| 好看的日韩av电影| 老色鬼久久亚洲一区二区| 噜噜噜噜噜久久久久久91| 永久555www成人免费| 久久久久五月天| 亚洲第一页在线| 日韩视频一区| 亚洲深夜福利| 久久成人国产精品| 韩国女主播一区| 麻豆久久婷婷| 日韩网站在线| 久久国产福利国产秒拍| 黄网站免费久久| 久久久之久亚州精品露出| 欧美激情亚洲国产| 在线午夜精品| 国产麻豆综合| 麻豆精品视频| 亚洲深夜影院| 麻豆成人在线观看| 亚洲免费成人| 国产精品自拍视频| 老妇喷水一区二区三区| 99re6热在线精品视频播放速度| 亚洲永久精品大片| 在线电影国产精品| 欧美日韩一二三区| 欧美在线视频网站| 亚洲精选91| 久久久www成人免费无遮挡大片| 亚洲国产成人在线播放| 国产精品裸体一区二区三区| 久久久蜜臀国产一区二区| 99ri日韩精品视频| 麻豆精品传媒视频| 亚洲欧美日本视频在线观看| 精品成人一区二区三区| 欧美小视频在线观看| 久久九九全国免费精品观看| 99亚洲视频| 欧美高清视频一区二区三区在线观看| 亚洲欧美国产视频| 亚洲精品国产精品国自产在线| 国产精品制服诱惑| 欧美日韩在线高清| 鲁鲁狠狠狠7777一区二区| 亚洲综合精品四区| 亚洲美女黄色| 欧美国产另类| 久久久久久久综合| 校园春色国产精品| 亚洲素人一区二区| 一本色道精品久久一区二区三区 | 亚洲精品国产系列| 激情亚洲一区二区三区四区| 国产精品女人久久久久久| 欧美福利电影网| 美女精品网站| 久久精品欧美日韩精品| 午夜精品亚洲一区二区三区嫩草| 亚洲精品日韩在线观看| 亚洲第一福利在线观看| 麻豆av福利av久久av| 欧美在线影院| 性一交一乱一区二区洋洋av| 亚洲欧美日韩国产一区二区| 一区二区三区日韩精品| 99re8这里有精品热视频免费| 亚洲欧洲精品一区| 亚洲国产精选| 91久久亚洲| 亚洲精品国产精品国产自| 最新国产乱人伦偷精品免费网站 | 欧美日韩中文另类| 欧美日韩在线观看一区二区三区| 欧美精品一区二区三区在线播放 | 亚洲国产精品久久人人爱蜜臀| 国产一区二区三区视频在线观看 | 亚洲精品国产精品久久清纯直播| 亚洲国产精品日韩| 亚洲精品在线一区二区| 99伊人成综合| 亚洲一区二区三区精品在线| 亚洲一区二区三区中文字幕| 亚洲欧美日韩在线播放| 午夜一区在线| 久久亚洲一区二区| 欧美夫妇交换俱乐部在线观看| 免费观看不卡av| 亚洲电影免费| 99精品视频一区| 午夜精品福利电影| 久久全球大尺度高清视频| 欧美1区3d| 欧美色综合天天久久综合精品| 国产乱肥老妇国产一区二| 国内一区二区三区在线视频| 亚洲国产天堂久久国产91| 国产精品99久久久久久www| 午夜精品久久久久久久久久久久久| 午夜日韩福利| 欧美大片一区二区| 夜夜爽www精品| 欧美在线免费视频| 欧美极品在线视频| 国产日韩成人精品| 91久久综合亚洲鲁鲁五月天| 亚洲影院在线| 亚洲第一精品电影| 亚洲综合久久久久| 欧美激情性爽国产精品17p| 国产精品一区免费观看| 亚洲精品国产系列| 久久九九精品99国产精品| 亚洲精品久久视频| 欧美怡红院视频| 欧美日韩国产首页在线观看| 好吊妞这里只有精品| 亚洲一区自拍| 91久久精品视频| 久久久亚洲高清| 国产精品视频一二三| 99国产精品自拍| 免费日本视频一区| 欧美一区二区日韩| 欧美日韩在线免费视频| 亚洲国产美女久久久久| 久久久亚洲一区| 亚洲欧美日韩高清| 国产精品草草|