自己开发的app能否看出ip

当我们使用手机上的应用程序时,有时候会发现一些广告或者消息推送等会与我们的兴趣爱好相关,甚至更加精准地匹配我们的位置信息。这是因为 app 向服务器发送了一些关键信息,其中包括用户的 IP 地址。那么,我们该如何看出 app 是否获取到了我们的 IP 信息呢?

首先,我们需要了解 IP 地址是什么。IP 地址,全称为 Internet Protocol Address,也就是网络协议地址,是为了使得计算机在网络上通讯目的的数字标签。在 IPv4 网络中,每台计算机都会拥有唯一的 IP 地址。

在一个应用程序中,如果想要向服务器发送请求或获取数据,就需要借助网络链接。APP往往会选择使用 HTTP 或 HTTPS 协议来与服务器通信,其中 HTTP 协议是无加密的明文传输,而 HTTPS 则采取了安全传输层协议 (SSL) 来保证传输的安全性。无论使用哪一种协议,我们都可以通过监视网络传输进行分析。

通过 Wireshark 等网络分析工具,我们可以捕捉到手机应用的网络数据包。如果 app 使用的是 HTTP 协议,那么我们可以在请求头中看到明确的 IP 地址信息。比如下面这个请求:

![image1](https://img-blog.csdn.net/20180501164310965?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N5cF9wcm90ZWN0XzYxMjY5ODA2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/85)

可以看到,请求头中的 Host 字段中就包含了正在请求的服务器的 IP 地址。同时,在响应头中我们也可以看到服务器返回的数据包的 IP 地址。

如果使用的是 HTTPS 协议,那么我们就需要在 SSL 加密协议中解密数据包,获取其中的 IP 地址。如果我们已经拥有了相应网站的 SSL 证书,那么我们可以在 SSL 握手协议的 Client Hello 消息中找到所请求的服务器的 IP 地址。

除了通过网络分析工具来判断 app 是否获取了 IP 地址,我们还可以参考一些其他的指标。比如,在 app 中使用某些地理定位服务时, app 需要获取用户的 IP 地址来确定其所在的位置信息。同时,通过在网络上的旗帜广告或者 cookie 来标识用户,广告公司得以使用 IP 地址来标识用户并进行精准推送。

综上所述,app 通常会向服务器发送一些请求,并带上用户的 IP 地址。通过我们上文所述的方式,我们可以分析网络数据包,判断 app 是否获取到了用户的 IP 地址信息。而 app 获取 IP 地址的过程,也是依托于其网络传输的协议以及地理定位服务等因素。