本文記錄使用python獲取本機ip的兩種方法。
import socket
print(socket.gethostbyname(socket.gethostname()))
此方法是先獲取hostname,然後在通過hostname來檢視本機的ip。不推薦此方法,因為若是在/etc/hosts
中將hostnam設定為127.0.0.1
,那麼獲取到的就是127.0.0.1
,而非本機的真實ip。
import socket
try:
s = socket.socket(socket.af_inet,socket.sock_dgram)
s.connect(('8.8.8.8',80))
ip = s.getsockname()[0]
finally:
s.close()
print(ip)
此方法利用udp協議,生成乙個udp包,將自己的ip放入udp協議頭中,然後再從中獲取本機的ip。此方法雖然不會真實向外發包,但仍然會申請乙個udp的埠,所以如果頻繁呼叫的話也是比較耗時的;可以將查詢到的ip快取在別處以供使用。
本文記錄使用python獲取本機ip的兩種方法。
import socket
print(socket.gethostbyname(socket.gethostname()))
此方法是先獲取hostname,然後在通過hostname來檢視本機的ip。不推薦此方法,因為若是在/etc/hosts
中將hostnam設定為127.0.0.1
,那麼獲取到的就是127.0.0.1
,而非本機的真實ip。
import socket
try:
s = socket.socket(socket.af_inet,socket.sock_dgram)
s.connect(('8.8.8.8',80))
ip = s.getsockname()[0]
finally:
s.close()
print(ip)
此方法利用udp協議,生成乙個udp包,將自己的ip放入udp協議頭中,然後再從中獲取本機的ip。此方法雖然不會真實向外發包,但仍然會申請乙個udp的埠,所以如果頻繁呼叫的話也是比較耗時的;可以將查詢到的ip快取在別處以供使用。 python獲取區域網IP位址
設計思路 設計乙個udp資料報,併發送到公共的dns伺服器當中,udp資料報是盡最大努力不可靠交付,我們只需要獲取到udp頭部資訊即可 import socket def main get wlan ip def get wlan ip try socket.sock dgram代表的是socket...
解決無線區域網與區域網IP衝突
現在802.11n標準準備出來,很多802.11n草案標準的產品已經大量的出現。很多 廠商都宣傳802.11n無線網路將趕超有線網路,宣傳歸宣傳,目前而言,無線網路是有線網路的有效補充。無線網路都是在有線網路的基礎架設的,無線應用更多的用於在最後的幾公尺距離的空間。無線網路對於普通的家庭和企業已經是...
無線區域網實戰
鐵通寬頻已經裝好,下一步準備建個無線區域網。a 準備工作 需求 訊號要布滿三層樓,除了車庫和頂樓撞球室可以不作要求,但要保證可能使用筆記本的房間,要有比較好的訊號。所需購買 1.無線接入點或路由器。2.無線網絡卡。需要一塊台式電腦無線網絡卡和一塊筆記本的pc無線網絡卡。這個要求不用高,可以隨便買,結...