Android判断ip为DNS劫持

网络劫持

我们经常会遇到一种case,就是我们的域名通过dns解析之后,实际返回的ip并不是我们真正的服务器ip,此时怎么分析确定呢?

java接口函数

InetAddress inetAddress = InetAddress.getByName("www.baidu.com");
String ip = inetAddress.getHostAddress();

我们常见的网络库,最终都是通过这个接口去获取ip的,通过hook这个接口函数,打印ip,能发现确实有一些不是我们自己的服务器ip

nslookup

首先使用win中的nslookup命令,用于从dns服务器解析ip对应的域名,或者根据域名解析ip

nslookup 202.98.24.122

能够简单的看下ip的域名,多数情况下看不到,怎么办?

nmap

nmap下载
nmap使用

aaa.jpg

使用nmap可以对ip进行分析,可以看到此ip开放了53端口,具备DNS服务器的特征,再观察到Haproxy是一种负载均衡服务器的特征,基本上判断出此ip为DNS服务器的负载均衡跳转服务器

怎么解决

遇到这种服务器跳转ip不会有问题,因为它还会把真正的ip返回给你,如果是其他的真正的被劫持的ip怎么办?

使用HttpDns解决,这里不细讲HttpDns的原理,网上都有

当然终极解决办法是Https

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能...
    一直在努力hard阅读 4,670评论 3 19
  • DNS 是什么 DNS (Domain Name System), 也叫网域名称系统,是互联网的一项服务。它实质上...
    interstellar多米诺阅读 2,854评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 在使用consul做docker容器服务化的过程中,使用到了dnsmasq做DNS请求转发,于是研究了下DNS协议...
    __七把刀__阅读 4,012评论 2 13
  • nmap使用指南(终极版) 原创2017-09-09hl0rey信安之路 一、目标指定 1.CIDR标志位 192...
    用电热毯烤猪阅读 12,035评论 1 49