美文网首页IOS相关
iOS 端 DNS 相关技术

iOS 端 DNS 相关技术

作者: 践行者 | 来源:发表于2017-09-07 16:22 被阅读136次

iOS 端 DNS 相关技术

1.Mac下 关于 DNS 插件包

在 Mac OS X 上通过 pdnsd 和 dnsmasq 加速 DNS 以及避免污染

Note

在默认情况下,dnsmasq在解析一个域名时,会首先查找/etc/hosts文件中的定义,如果找不到的话,再去/etc/resolv.conf中去找。

2.程序实现 DNS 解析 ip
2.1 通过第三方接口地址 http://119.29.29.29/d?dn= 来获取

比如解析 www.163.com&ttl=1
返回结果:111.206.186.244;111.206.186.245,23
其中23是ttl缓存时间 也有可能不存在

具体代码可以看AppDNSParser类

2.2 通过iOS系统提供的CFHostRef 方式来获取

//通过系统CFHostRef方式获取 添加libresolv

  • (NSString *)fetchIPFromHost:(NSString *)host;

具体代码可以看AppDNSMapper.h类

2.3 通过 gethostbyname(hostName);

其中有一个注意点:iOS需要支持ipv6,需要调用 phost = gethostbyname2(hostName, AF_INET6);

具体代码可以看AppDNSMapper.h类

2.4 自己服务器返回

在替换host时,有一个注意点

HTTP 标准中规定,服务器会将请求头中的 host 字段的值作为请求的域名。咱们使用 IP 替换 URL 中的 host 进行访问,此时网络库会将 IP 当作 host,服务器就会解析异常了.

解决方案: request 添加header <host,originHost>

4.如何获取ip 时间,多个ip如何选择

思路: 客户端 采用ping的方式,在github上找了一个第三方

具体代码可以看IpManage类

代码不够完善Demo地址--https://github.com/softwarefaith/JiOSDNS

参考文章

  1. https://program-think.blogspot.com/2014/01/dns.html
  2. 在 Mac OS X 上通过 pdnsd 和 dnsmasq 加速 DNS 以及避免污染
  3. http://xintq.net/2017/05/16/mac-dnsmasq/
  4. https://elliotsomething.github.io/2016/10/18/DNS缓存/
  5. DNS解析失败的处理 (支持IPv6)http://nszzy.me/2016/09/07/dns-resolving/
  6. DNS 劫持
  7. https://github.com/music4kid/PPDNSMapping

相关文章

  • iOS 端 DNS 相关技术

    iOS 端 DNS 相关技术 1.Mac下 关于 DNS 插件包 在 Mac OS X 上通过 pdnsd 和 d...

  • IOS下三种DNS解析方式分析(LocalDns)

    背景 最近在做iOS的DNS解析,顺便研究了下iOS端本地的DNS解析方式(localDNS),也就是不依赖Htt...

  • iOS 2019年4月学习记录

    iOS网络优化 1 优化项目 DNS客户端维护DNS映射表1)定时向服务端获取跟新2)上报无效ip3)保留替补映射...

  • 资源预加载

    一、DNS prefetch DNS prefetching通过指定具体的URL来告知客户端未来会用到相关的资源,...

  • iOS Cookie 存储相关技术

    iOS Cookie 存储相关技术 iOS Cookie 存储相关技术一、什么是Cookie二、Cookie在Ht...

  • 车牌识别技术的前世今生

    手机也能用的移动端车牌识别技术 核心技术:移动车牌识别技术,ios车牌识别,车牌识别技术移动端,移动端车牌识别技术...

  • 2019-11-30

    手机也能用的移动端车牌识别技术 核心技术:移动车牌识别技术,ios车牌识别,车牌识别技术移动端,移动端车牌识别技术...

  • 技术解析:移动端前端车牌识别OCR算法

    核心技术:移动车牌识别技术,ios车牌识别,车牌识别技术移动端,移动端车牌识别技术,手机端车牌识别,OCR车牌识别...

  • 可以手持的车牌识别技术-移动端车牌识别

    核心技术:移动车牌识别技术,ios车牌识别,车牌识别技术移动端,移动端车牌识别技术,手机端车牌识别,OCR车牌识别...

  • 智慧停车与车牌识别技术

    核心技术:移动车牌识别技术,ios车牌识别,车牌识别技术移动端,移动端车牌识别技术,手机端车牌识别,OCR车牌识别...

网友评论

    本文标题:iOS 端 DNS 相关技术

    本文链接:https://www.haomeiwen.com/subject/hubijxtx.html