域名,IP,主機名的區別與使用

爲了達到通信的目的,需要給參與通信的主機一個號碼,這個就是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)獲得全名,當然你有可能得不到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章