一文梳理獲取本地IP和遠端IP的各種方式,附Python程式碼例項

Newton爱编程發表於2024-11-22

本地 IP 是指裝置在本地網路(如家庭、辦公室區域網)中被分配的IP地址,用於在該區域網內裝置之間的通訊和識別,一般由路由器分配。遠端 IP 則是網際網路上其它網路或伺服器的 IP 地址,用於裝置與外部網路通訊,如訪問網站時的伺服器 IP。

獲取本地IP地址

1. 系統設定檢視

其中 IP 地址 192.168.0.104 就是當前裝置本地的 IP 地址。這個地址並不能直接用來訪問外界網際網路,需要將請求轉發到路由器,路由器用分配的公網 IP 地址轉發該請求,並將遠端伺服器返回的請求結果再轉發給本地裝置。

2. 命令列獲取

‌ifconfig是Linux命令,用於顯示或配置網路裝置,如IP地址、子網掩碼、MAC地址等。

獲取IP地址命令如下:

ifconfig | grep 'inet ' | grep netmask

3. Python程式碼實現

import socket

HOST = '192.168.69.52'
PORT = 8001

try: 
    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    s.connect(('8.8.8.8',80))
    local_ip = s.getsockname()[0]
    print(f"本地 IP 地址: {local_ip}")
finally: 
    s.close()

執行程式碼

python local_ip.py

本地 IP 地址: 192.168.0.104

獲取遠端 IP 地址

1. 命令列獲取

curl ifconfig.me

221.xxx.146.69

2. 特定網站檢視

比如:https://tool.lu/ip/

3. Python程式碼實現

import requests

def get_public_ip():
    # 獲取真實公共 IP 地址
    try:
        response = requests.get('https://ident.me')
        public_ip = response.text
        return public_ip
    except requests.RequestException as e:
        print(f"無法獲取遠端 IP 地址: {e}")
        return None

if __name__ == "__main__":
    public_ip = get_public_ip()
    print(f"遠端 IP 地址: {public_ip}")

執行程式碼

python remote_ip.py

遠端 IP 地址: 221.xxx.146.69

相關文章