一文梳理获取本地IP和远程IP的各种方式,附Python代码实例

本地 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
posted @ 2024-11-22 23:51  Newton爱编程  阅读(97)  评论(0编辑  收藏  举报