linux下gethostbyname工作原理

末蓝、 2023-05-31 07:58 78阅读 0赞

既然这两个函数能够转换 IP 和域名,那么,它们就会去访问DNS服务器吗?如果真的要去访问,网络不通的情况下,它们又怎么办呢?带着这些疑问,我在网上查了一下,并根据提示,做了一下试验,简单总结了一下:

gethostbyname(域名->IP)、gethostbyaddr(IP->域名)在解析的时候,系统默认会先到 /etc/hosts 文件中去寻找匹配信息,然后再到DNS服务器去解析,这个顺序是可以交换的,只要修改 /etc/host.conf 里的 host(本机) 和 bind(DNS服务器) 的顺序即可,我们做个试验:

在DNS服务器配置正常的情况下,gethostbyname的参数为“www.baidu.com”能正常解析,禁掉DNS就不能正常工作了。但是如果把它和 IP 的映射对添加到 /etc/hosts 文件中,则函数又能正常工作了。例如我们在 /etc/hosts 文件里添加这样一组映射:

  1. 12.34.56.78 www.baidu.com

则在执行这两个函数的时候,就会返回映射对对应的信息。

注:iHost进行环境配置便是利用的 /etc/hosts里进行绑定

未完待续… 等待后续整理

发表评论

表情:
评论列表 (有 0 条评论,78人围观)

还没有评论,来说两句吧...

相关阅读

    相关 linuxgethostbyname工作原理

    既然这两个函数能够转换 IP 和域名,那么,它们就会去访问DNS服务器吗?如果真的要去访问,网络不通的情况下,它们又怎么办呢?带着这些疑问,我在网上查了一下,并根据提示,做了一

    相关 Linux动态库的工作原理详解

    关于动态库的原理和加载过程,网上也有很多版本,但是基本都在讲解动态库的编译以及使用,很少能够有文章对动态库的加载以及工作原理进行深入的剖析和讲解。说来也很惭愧,在过去的工作中,

    相关 Webpack学习-工作原理

    继上篇[文章][Link 1]介绍了Webpack的基本概念,完整流程,以及打包过程中广播的一些事件的作用,这篇文章主要讲生成的chunk文件如何输出成具体的文件。分同步和异步