为了达到通信的目的,需要给参与通信的主机一个号码,这个就是ip地址,它具有唯一性。
主机名就是在一个特定网络范围内一个计算机的名字。
域名则是在因特网范围内某一个服务器的名字。
一般有如下关系:
1.IP地址=网络号(特定网络前缀)+具体网络点(主机地址)
2.域名包含主机名
强调几点:1.IP地址为通讯的根本。
2.IP地址并不代表一台具体的主机,而是代表一台主机与一特定网络的链接。
所以:
1.一台主机可以拥有多个IP地址(一方一些网络不能用),所以一个域名可以有多个IP地址,但在一个时刻只能用一个IP。
2.一个IP地址只能作用在一个站点上,但一个站点内可以有多台计算机,此为网络地址转换(HAT)技术,无线WiFi技术的原理。
接下来:讲讲实用的东西:
1.知域名求IP:
#getip.py
import socket
host='www.google.cn'
#get ip
result=socket.getaddrinfo(host,None)
ip=result[0][4]
print(ip)
2.知IP求域名:
使用 gethostbyname(ip)函数。
然后:如果你照上面反向查询的话,那么极有可能是一个错误,(你怎么知道Google一定使用那个IP呢?)
用你自己的机器试试,然后socket.getfqdn(host)获得全名,当然你有可能得不到。