揭秘IP:从虚拟地址到现实世界的精准定位

1.IP地址介绍

1.内网 IP 地址(私有 IP 地址)

内网 IP 地址,即私有 IP 地址,是在局域网(LAN)内部使用的 IP 地址。这些地址不会在公共互联网中路由,因此可以在多个局域网中重复使用。私有 IP 地址通常由路由器或其他网络设备通过 DHCP(动态主机配置协议)分配给局域网内的设备。

1.私有 IP 地址范围

根据 RFC 1918,私有 IP 地址有以下范围:

  • 10.0.0.0 到 10.255.255.255(10.0.0.0/8)
  • 172.16.0.0 到 172.31.255.255(172.16.0.0/12)
  • 192.168.0.0 到 192.168.255.255(192.168.0.0/16)

这些地址仅在局域网内有效,不会在公共互联网中出现。

2.使用场景
  • 家庭网络:路由器为家庭中的设备(如电脑、手机、智能电视等)分配私有 IP 地址。
  • 公司或学校网络:内部网络内的所有设备使用私有 IP 地址进行互连。

2.公网 IP 地址(公共 IP 地址)

公网 IP 地址,即公共 IP 地址,是在公共互联网上使用的 IP 地址。每个公网 IP 地址都是唯一的,由互联网服务提供商(ISP)分配,确保全球范围内的唯一性。

1.公共 IP 地址管理

公共 IP 地址由全球组织(如 IANA 和各地区的 RIRs)管理并分配给 ISP 和最终用户。

2.使用场景
  • 访问互联网:当设备需要访问互联网时,它们使用公网 IP 地址进行通信。
  • 托管服务:如网站、邮件服务器和其他在线服务,必须有一个公网 IP 地址才能在互联网上访问。

3.内网 IP 与公网 IP 的关系

1.网络地址转换(NAT)

NAT(网络地址转换)是一种技术,使多个设备可以通过一个或多个公共 IP 地址访问互联网。NAT 通常由路由器或防火墙实现。

2.NAT 的工作原理
  1. 请求阶段

    • 内网设备(如你的电脑)使用私有 IP 地址发送请求到互联网。
    • 路由器使用 NAT,将私有 IP 地址转换为公共 IP 地址,并记录转换表(包括原始私有 IP 和端口号)。
  2. 响应阶段

    • 互联网服务器将响应发送到路由器的公共 IP 地址。
    • 路由器根据转换表,将响应转发到对应的内网设备。
3.举例说明
  1. 内网 IP 地址

    • 你的电脑在学校局域网内的 IP 地址是 10.195.1.65
    • 这个 IP 地址仅在学校局域网内部有效。
  2. 公网 IP 地址

    • 当你访问 https://ip.3322.net/ 时,你的请求会通过学校的路由器发送到互联网。
    • 路由器将你的私有 IP 地址 10.195.1.65 转换为公共 IP 地址 183.157.163.123
    • 网站 ip.3322.net 看到的就是 183.157.163.123,这是你的学校网络对外展示的 IP 地址。

4.总结

  • 内网 IP 地址(私有 IP 地址)

    • 仅在局域网内部使用。
    • 不在公共互联网中路由。
  • 公网 IP 地址(公共 IP 地址)

    • 在公共互联网上使用。
    • 由 ISP 分配,全球唯一。
  • NAT 技术

    • 使局域网内的多个设备通过一个公共 IP 地址访问互联网。
    • 路由器记录并管理私有 IP 和公共 IP 的转换关系。

2.IP查询

前面已经介绍了内网 IP 和公网 IP 的区别。如果你想查询某个 IP 在现实世界中的位置,通过内网 IP 是无法实现的。因此,需要先通过访问 https://ip.3322.net/ 获取你的设备的公网 IP,然后才能进行后续的地理位置查询操作。
此外,获取公网IP也可以直接通过命令行获取,具体如下所示:

curl ifconfig.io
curl ifconfig.me
curl ipinfo.io/ip/

我编写了一个程序,用户可以输入对应的公网 IP,程序将访问该公网 IP 并返回其对应的国家、省份、城市,以及经度和纬度。具体代码如下所示:

import requests

headers = {
    'Accept': '*/*',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'Origin': 'https://ip-api.com',
    'Pragma': 'no-cache',
    'Referer': 'https://ip-api.com/',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-site',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
    'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
}

params = {
    'fields': '66842623',
    'lang': 'en',
}

input_ip = input('请输入你需要查询的IP: ')

response = requests.get(f'https://demo.ip-api.com/json/{input_ip}', params=params, headers=headers)
info_json = response.json()

if info_json['status'] == 'success':
    ip = info_json.get('query', 'N/A')
    country = info_json.get('country', 'N/A')
    region = info_json.get('regionName', 'N/A')
    city = info_json.get('city', 'N/A')
    lat = info_json.get('lat', 'N/A')
    lon = info_json.get('lon', 'N/A')

    print(f'IP: {ip}')
    print(f'Country: {country}')
    print(f'Region: {region}')
    print(f'City: {city}')
    print(f'Latitude: {lat}')
    print(f'Longitude: {lon}')
else:
    print('无法获取该IP的信息。')

当前,如果你不想执行程序,你也可以访问ip-api,在里面输入对应的公网IP,也一样可以得到对应的位置信息。
在这里插入图片描述

3.定位位置

前面提到的程序或网站查询通常只能定位到具体的城市。如果你还想进一步精确到具体的街道等详细信息,则需要使用经度和纬度进行查询。你可以打开百度地图,并在其中输入前面通过 IP 地址获取的经度和纬度,即可定位到对应 IP 的具体位置信息。通过这种方式,你可以获得更详细的地理位置数据,从而实现更精确的定位。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/782155.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式探索:责任链模式

1. 什么是责任链模式 责任链模式 (Chain of Responsibility Pattern) 是一种行为型设计模式。定义如下: 避免将一个请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求。将接收请求的对象连接成一条链,并且沿着这条链传递请求&…

14-43 剑和诗人17 - ActiveRAG之主动学习

​​​​​ 大型语言模型 (LLM) 的出现开启了对话式 AI 的新时代。这些模型可以生成非常像人类的文本,并且比以往更好地进行对话。然而,它们在仅依赖预训练知识方面仍然面临限制。为了提高推理能力和准确性,LLM 需要能够整合外部知识。 检索…

文件存储的方法一

文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了"如何实现本地存储"相关的内容,本章回中将介绍如何实现文件存储.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在上一章回中介绍的本地存储只能存储dart语言中基本类型的数值…

ffmpeg图片视频编辑器工具的安装与使用

title: ffmpeg图片视频编辑器工具的安装与使用 tags: [ffmpeg, 图片, 音频, 视频, 工具, 流媒体] categories: [工具, ffmpeg] FFmpeg是一个开源的命令行工具,广泛用于处理视频和音频文件,包括转换格式、剪辑、混流、解码、编码等。以下是一些基本的FFmp…

Zabbix 的部署和自定义监控内容

前言 一个完整的项目的业务架构包括 客户端 -> 防火墙 -> 负载均衡层(四层、七层 LVS/HAProxy/nginx) -> Web缓存/应用层(nginx、tomcat) -> 业务逻辑层(php/java动态应用服务) -> 数据缓存/持久层(r…

智慧水利的变革之路:如何通过大数据、物联网和人工智能构建高效、智能、可持续的水利管理新模式

目录 一、引言:智慧水利的时代背景与意义 二、大数据:水利管理的数据基石 (一)数据收集与整合 (二)数据分析与挖掘 三、物联网:水利管理的感知神经 (一)智能感知与监…

Git 操作补充:cherry-pick、变基

1. 挑选提交合并 git cherry-pick 对于多分支的代码库,将代码从一个分支转移到另一个分支是一种常见的需求,这可以分成两种情况:一种情况是,你需要另一个分支的所有代码变动,那么就采用 git merge;另一种情…

【Unity2D 2022:UI】制作角色血条

一、创建血底UI 1. 创建画布(Canvas) 2. 在画布上添加血底图像(Image)子物体 二、编辑血底UI 1. 将血底图片拖入源图像(Source Image)中 2. 点击设置为图片的原大小(Set Native Size&#x…

算法重新刷题

基础算法 前缀和 一维前缀和 [USACO16JAN] Subsequences Summing to Sevens S - 洛谷 这一题主要是需要结合数学知识来求解&#xff0c; #include <iostream> #include <cstring> #include <cstdio> #include <algorithm>using namespace std;con…

java花店管理系统eclipse开发mysql数据库

1 绪论 1.1 系统开发目的 随着人们物质生活水平和经济水平的不断提高&#xff0c;室内绿化布置、家庭园艺装饰、礼仪鲜花等日益受到重视和青睐&#xff0c;以及送鲜花给亲朋好友来表达自己的情谊。传统的花店对于信息的管理的主要方式是基于文本、表格等纸质手工处理&#xf…

【经验篇】Spring Data JPA开启批量更新时乐观锁失效问题

乐观锁机制 什么是乐观锁&#xff1f; 乐观锁的基本思想是&#xff0c;认为在大多数情况下&#xff0c;数据访问不会导致冲突。因此&#xff0c;乐观锁允许多个事务同时读取和修改相同的数据&#xff0c;而不进行显式的锁定。在提交事务之前&#xff0c;会检查是否有其他事务…

mac M1安装 VSCode

最近在学黑马程序员Java最新AI若依框架项目开发&#xff0c;里面前端用的是Visual Studio Code 所以我也就下载安装了一下&#xff0c;系统是M1芯片的&#xff0c;安装过程还是有点坑的写下来大家注意一下 1.在appstore中下载 2.在系统终端中输入 clang 显示如下图 那么在终端输…

【Linux进程】命令行参数 环境变量(详解)

目录 前言 1. 命令行参数 什么是命令行参数? 2. 环境变量 常见的环境变量 如何修改环境变量? 获取环境变量 环境变量的组织方式 拓展问题 导入环境变量 3. 本地变量* 总结 前言 在使用Linux指令的时候, 都是指令后边根命令行参数, 每个指令本质都是一个一个的可执行程…

JAVA集合框架、CAS、AQS

目录 一、java 的集合框架有哪些? 二、说-下 ArrayList 和 LinkedList? 三、HashSet和TreeSet的区别? 四、HashMap 的数据结构是什么? 五、CAS机制 六、AQS理解 一、java 的集合框架有哪些? Collection 是 Java 集合框架中的一个根接口&#xff0c;位于 java.util 包中。它…

亲密数对C++函数

自定义函数 #include<bits/stdc.h> using namespace std; //求n的因子和自定义函数 int yinzihe(int n){//使用2~sqrt(n)成对求解因子和int r0,i;//变量 r 初始值为0&#xff0c;因为要存放因子和for(i2;i<sqrt(n);i) {//回顾sqrt()课程//如果 i 是 n 的因子&#xf…

微笑背后的秘密:理解自闭症儿童的面部表情控制

在星贝育园自闭症儿童康复学校&#xff0c;我们常常遇到家长们提出的一个有趣而引人深思的问题&#xff1a;“为什么我的孩子似乎控制不住面部表情&#xff0c;尤其是频繁地笑&#xff1f;”这个问题背后&#xff0c;隐藏着自闭症谱系障碍&#xff08;ASD&#xff09;儿童独特的…

Caffeinated for Mac v2.0.6 Mac防休眠应用 兼容 M1/M2/M3

Caffeinated 可以防止您的 Mac 进入休眠状态、屏幕变暗或者启动屏幕保护。 应用介绍 您的屏幕是否总是在您不希望的时候变暗&#xff1f;那么Caffeinated就是您解决这个大麻烦的最好工具啦。Caffeinated是在Caffeine这个非常便捷、有用的工具的基础上开发而来的。Caffeinated…

20240707 每日AI必读资讯

&#x1f9e0;中国生成式AI专利数量超过美国 6 倍 - 中国在2014年至2023年期间申请的生成式AI专利数量达到38210个&#xff0c;超过了美国的6倍。 - 腾讯、平安保险集团和百度是GenAI专利数量最多的中国公司。 - 中国的顶级学术机构和技术生态为生成式AI的发展提供了强大支持…

算法简介:什么是算法?——定义、历史与应用详解

引言 在现代计算机科学中&#xff0c;算法是一个核心概念。无论是编程还是数据分析&#xff0c;算法都扮演着至关重要的角色。在这篇博客中&#xff0c;我们将深入探讨算法的定义、历史背景以及它在计算机科学中的地位和实际应用。 什么是算法&#xff1f; 算法是解决特定问题…

DHCP的原理及配置

目录 一、了解DHCP服务 1.什么是DHCP 1.1DHCP广播 2.使用DHCP的好处 2.1为什么使用DHCP 3.DHCP的模式与分配方式 3.1分配方式 3.2模式 二、DHCP工作原理 1.四次回话 2.重新登录 3.更新租约 4.扩展 三、安装DHCP服务 四、DHCP局部配置并且测试 五、使用…