Linux下的网络函数gethostbyname/gethostbyaddr会访问DNS吗?
来源:互联网 发布:似水流年 王小波 知乎 编辑:程序博客网 时间:2024/05/08 14:57
这两天一直在复习Linux下的C编程,除了项目的需要外,还在为找工作做准备。每次复习的时候,都有新的体会,以前看着这2个函数,觉得会用就行了,也没有深入地去了解它们的工作原理。昨天再次看到,有了新的想法,既然这两个函数能够转换 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 文件里添加这样一组映射:
12.34.56.78 www.baidu.com
则在执行这两个函数的时候,就会返回映射对对应的信息。
- Linux下的网络函数gethostbyname/gethostbyaddr会访问DNS吗?
- linux中gethostbyname和gethostbyaddr的使用
- gethostbyname(),gethostbyaddr()的使用
- Linux下获得主机与域名-gethostbyname和gethostbyaddr
- Linux下获得主机与域名-gethostbyname和gethostbyaddr
- gethostbyname()和gethostbyaddr()函数说明
- linux 环境下 用gethostbyname函数获取 DNS的服务器列表 名称 IP
- gethostbyname和gethostbyaddr的用法
- gethostbyname 和 gethostbyaddr 的适用范围
- gethostbyname和gethostbyaddr的用法
- gethostname(); gethostbyname(); gethostbyaddr() 的用法
- gethostname(); gethostbyname(); gethostbyaddr() 的用法
- gethostbyaddr ,gethostbyname
- gethostbyname(), gethostbyaddr()
- 主机名与网络名查询gethostbyname,gethostbyaddr
- gethostbyaddr 和 gethostbyname 给定主机的信息
- Linux下gethostbyname函数调用
- 名字与地址转换的函数,gethostbyname()、gethostbyaddr()函数
- 十六周
- Detail about How VPTR and Virtual table works
- linux i2c驱动分析 s3c6410 (2)
- 周末.电影.人生
- VS2005运行程序时出现“没有找到MSVCP80D.dll"错误的解决方法
- Linux下的网络函数gethostbyname/gethostbyaddr会访问DNS吗?
- ubuntu 启动画面修改
- RandomAccessFile
- comet介绍
- Using GPS to get current location in Android
- Android shell 系统命令
- 步态识别介绍
- 离散化模版
- HDOJ 1398 Square Coins解题报告