用户 IP,里面藏了多少秘密?
大家都知道,要邮寄一封信给正确的收件人,需要提供准确而精细的地址,这个地址需要从国家和城市精确到邮政编码,街道和门牌号码。只有这样,邮局的工作人员才能知道将信送到那里。
Internet 上也是如此,每个设备都需要一个唯一的“门牌号”才能与其他设备进行网络通信交换数据,这个“门牌号”就是 IP 地址。在设备建立连接期间,IP 地址会被自动或手动地分配给联网设备,分配过程中 Internet 协议(IP)起着重要作用。

互联网协议地址(也被称为“IP 地址”或简称为“IP”)是互联网的基础。它基于 Internet 协议,是指内部或外部网络中的设备(例如计算机,Web 服务器或打印机等)的唯一可识别地址。IP 地址可以指定整个设备组,也可以为一台计算机分配多个地址。同时网络中的每个 IP 地址在任何给定时间只能使用一次。下面我们来详细说说 IP 地址的运作原理。
IPv4、IPv6 及 IP 的类型
IP 地址现在有两个版本,分别是 IPv4 和 IPv6。
IPv4 地址
大多数设备当前主要使用 Internet 协议版本 4(IPv4)的地址。它由 32 位二进制数组成,例如 11000000 10101000 10110010 00011111。为了使此数字好分辨,通常将这 32 位二进制数表示为四个十进制数字的组合,其值从 0 到 255,以点 . 分隔。例如:192.168.178.31。
IPv4 总共可以构成约 43 亿个不同的地址。对于早期全球互联网设备而言,因为所有设备不会同时使用,而某些设备也仅在专用网络中使用, IP 地址数目就显得很充足。但现在越来越多的日常设备需要连接到互联网,尤其是物联网(IoT)的出现让很大一部分设备都需要有自己的 IP 地址,IPv4 地址数量已经使用完毕,并且无法满足数量需求。
已经到来的 IPv6
IPv6 的地址具有 128 位,因此必须写为 128 位的二进制数。由于这样的数字太长且不切实际,所以采用十六进制表示法将 128 位压缩为 16 位的 8 个块,并用冒号 : 分隔。例如 0000:0000:0000:0000:0000:ffff:c0a8:b21f。字母 a 至 f 也用作十六进制数字。如果我们在每个块的开头省略零,并用两个冒号“:: ”替换一系列连续的 0000 块,则可以进一步简化格式。上面的例子可以简写为 :: FFFF:c0a8:b21f。

IP 地址的类型
除去 IPv4 与 IPv6 的区别,IP 地址还分为动态 IP 地址、静态 IP 地址,以及保留给专用网络使用的“用于特殊目的”的 IP 地址。
动态 IP 地址
动态 IP 地址最常用于日常的在线浏览。当 DSL (数字用户线路)客户使用其路由器接入 Internet 时,Internet 服务提供商(ISP)会为其分配一个地址池中的随机 IP 地址。该分配的 IP 会在每次使用后进行删除,或者定期(例如每 24 小时一次)自动更改。
由于通过这种“重用” IP 地址的方式,有效减轻 IPv4 地址空间的稀缺性,因为企业可以按照客户需求配置 IP,不用考虑多买备用的问题。
静态 IP 地址
除非所有者自己主动更改,否则静态 IP 地址始终保持不变。这些 IP 地址经常用于 Web 服务器,因为网站必须始终在同一地址上进行访问。静态 IP 还用于专用网络(LAN)中,用于与本地打印机或家庭网络中的另一台计算机进行通信。从用户的角度来看,静态 IP 地址与动态地址相比的最大缺点是它们更容易跟踪。
保留专用 IP 地址
IANA (互联网数字分配机构,一个协调全球 IP 地址分配的机构)将一部分地址保留作为私人 IP 地址空间或其他特殊目的使用,大约预留了 14.5% 的 IPv4 地址空间。例如:
封装在 CIDR 地址块 0.0.0.0/8 中的 IPv4 地址空间 0.0.0.0 到 0.255.255.255 是指网络的主机。
输入 IP 地址 127.0.0.1 时,可以与本地主机(localhost)进行通信。这对于测试新的应用程序是很有必要的。
IP 地址 255.255.255.255 指定用于广播。
地址空间 10.0.0.0 - 10.255.255.255,172.16.0.0 -172.31.255.255 和 192.168.0.0 - 192.168.255.255 保留给专用网络使用。对于 IPv6,前缀 fc00 :: / 7指定为专用。
这些 IP 是不会被 Internet 分配的,因此它们在 Internet 上也从来不会被路由。但是,如果想上网,路由器会通过网络地址转换(NAT)将专用 IP 地址转换为适用于本地网络的有效 IPv4 或 IPv6 地址。网络管理员可以手动或通过 DHCP 服务器自动分配专用 IP 地址。
如何找到自己的 IP 地址?
了解了 IP 的类型,那在哪里可以找到我们的 IP 地址呢?
不同的操作系统使用不同的方法查看计算机的本地 IP:
对于 Windows,在命令提示行中输入命令“ ipconfig ”。可以通过按 [Windows] + [R] 键在弹出的框中输入“ cmd ”来打开命令提示行。
Mac 系统的本地 IP 可以按以下方式查看:系统设置 > 网络。
Linux 系统,在命令行中输入 “ifconfig”,即可查看本机 IP 等信息。
IP 地址与数据保护
尽管 IP 地址本身不包含任何信息,但是因为她们可用于作为用户的标识,所以时不时会成为数据隐私话题者之间争论的主题。那么 IP 地址到底有没有和用户信息有关联呢?
首先,根据用户的 IP 地址就可以链接到其对应的互联网提供商。例如,183.128 、125.112 开头的 IP,则该地址属于浙江电信。
另外,根据用户 IP 与下一个 Internet 拨入节点的距离,可以在某种程度上确定其确切的位置。在农村地区,或许只能确定一个大概区域。但是在城市地区,因为在这里几乎每隔几百米就可以找到一个拨入节点,所以确定的地理位置就要精确得多。
对于一些网站管理者,网站服务器 IP 暴露在外引起黑客攻击也是比较头疼的问题。所以通过合理的方式隐藏自己的 IP 就变得极为重要。隐藏自己的 IP 可以通过以下几种方法:
架设代理服务器或配置防火墙。
使用高防 IP 服务,将真实 IP 映射到高防 IP 进行隐藏。
使用 CDN 服务来隐藏自己的 Web 服务器 IP 也是一种好办法。

又拍云作为一家资深云服务提供公司,对于网站 IP 自然也有完备的保护方式,CDN 在保护 IP 的同时还能为网站访问提速
用户 IP,里面藏了多少秘密?的更多相关文章
- php 用户ip的获取
$_SERVER 这个变量我很喜欢,里面有很多服务器和用户的配置.资料.特别是在获取用户ip 的时候 直接$_SERVER['REMOTE_ADDR'] 就可以或许,但这是没有使用 反向代理服务器的情 ...
- SAP中关于用户IP信息的获取(转载)
SAP中如何获取登录用户的IP? 或如何查看哪些IP登录到SAP中: 在Table: USR41中查看,具体字段的说明如下: MANDT --- ClientBNAME --- 登录的 ...
- Flask框架获取用户IP地址的方法
本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最 ...
- C# 获取用户IP地址(转载)
[ASP.NET开发]获取客户端IP地址 via C# 说明:本文中的内容是我综合博客园上的博文和MSDN讨论区的资料,再通过自己的实际测试而得来,属于自己原创的内容说实话很少,写这一篇是为了记录自己 ...
- 【用jQuery来判断浏览器的类型】及【javascript获取用户ip地址】
用jQuery来判断浏览器的类型,主要是使用$.browser这个工具类,使用方法: $.browser.['浏览器关键字'] //谷歌浏览器.360浏览器等其他一些浏览器,没有专门的判断 funct ...
- Java获取登录用户IP地址
/** * 获取登录用户IP地址 * * @param request * @return */ public static String getIpAddr(HttpServletRequest r ...
- Nginx 反向代理 如何在web应用中获取用户ip
转载:http://blog.csdn.net/bao19901210/article/details/52537279 问题背景: 在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断 ...
- Shell-history命令加记录用户IP
记录输入的命令 history命令可以查看用户输入过的命令,一个典型history命令输出如下: 980 2017-05-29 20:17:37 cd - 981 2017-05-29 20:17:4 ...
- Tomcat的配置,设置内存,获取用户IP
一.修改配置文件 tomcat配置文件路径/tomcat/bin/server.xml # shutdown指定终止Tomcat服务器运行时,发给Tomcat 服务器的shutdown监听端口的字符串 ...
- Linux history时间用户ip设置
Linux history时间用户ip设置 在使用linux服务器的时候发生一些不知道谁操作的问题,google一下说history命令可以查看到历史记录,用过之后发现还是不够详细,再g ...
随机推荐
- 使用JWT、拦截器与ThreadLocal实现在任意位置获取Token中的信息,并结合自定义注解实现对方法的鉴权
1. 简介 1.1 JWT JWT,即JSON Web Token,是一种用于在网络上传递声明的开放标准(RFC 7519).JWT 可以在用户和服务器之间传递安全可靠的信息,通常用于身份验证和信息交 ...
- string函数部分解释
```c1. 运算符重载+.+= 连接字符串= 字符串赋值>.>=.<.<= 字符串比较(例如a < b, aa < ab)==.!= 比较字符串<<. ...
- 发现AI自我意识:进入混合增强只能的纪元
执行性思维:人工智能的现实优势 如何解构人类的思维模型是一个跨多学科的综合性问题.本文仅针对AI领域发展方向预测以及理解,提出一个简化的模型.我认为人类的思维基于思考的目的性可以分为:执行性思维和创造 ...
- i-MES生产制造管理系统-总览
前言 说起 MES 就不得不说 ERP,但是 ERP 大家基本上都知道,MES 就不一定了,常见的 ERP 系统包括 SAP.金蝶.用友等,ERP的流程相对来说也比较统一:MES就不同了,基本上熟悉业 ...
- Centos离线安装JDK+Tomcat+MySQL8.0+Nginx
一.安装JDK 注:以下命令环境在Xshell中进行. 1.查询出系统自带的OpenJDK及版本 rpm -qa | grep jdk 2.如果显示已安装openjdk则对其进行卸载. #卸载 rpm ...
- 使用mumu模拟器抓包 andriod app
背景 公司H5嵌入到农行手机app里面.某天有人反馈进入国内机票订单详情时,应用崩溃了,如下图: 经过测试,此问题仅在安卓手机中出现,且其他页面都正常.于是我怀疑可能是这个页面代码有问题,想着能否抓包 ...
- jdk10的var局部变量类型推理
注:本人参考了openjdk官网,由于openjdk是开源的,所以不存在侵权行为,本章只为学习,我觉得没有什么比官网更具有话语权 1.jdk10的var的类型推测:就是这种处理将仅限于具有初始值设定项 ...
- Linux笔记03: Linux常用命令_3.4文件和目录共用命令
3.4 目录和文件共用命令 3.4.1 rm命令 ●命令名称:rm. ●英文原意:remove files or directories. ●所在路径:/usr/bin/rm. ●执行权限:所有用户. ...
- ConcurrentModificationException日志关键字报警引发的思考
本文将记录和分析日志中的ConcurrentModificationException关键字报警,还有一些我的思考,希望对大家有帮助. 一.背景 近期,在日常的日志关键字报警分析时,发现我负责的一个电 ...
- [NOI online2022普及C]字符串
题目描述 Kri 非常喜欢字符串,所以他准备找 \(t\) 组字符串研究. 第 \(i\) 次研究中,Kri 准备了两个字符串 \(S\) 和\(R\) ,其中 \(S\) 长度为 \(n\),且只由 ...