iOS 端 DNS 相關技術
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快取時間 也有可能不存在
2.2 通過iOS系統提供的CFHostRef 方式來獲取
//通過系統CFHostRef方式獲取 新增libresolv
- (NSString *)fetchIPFromHost:(NSString *)host;
2.3 通過 gethostbyname(hostName);
其中有一個注意點:iOS需要支援ipv6,需要呼叫 phost = gethostbyname2(hostName, AF_INET6);
2.4 自己伺服器返回
在替換host時,有一個注意點
HTTP 標準中規定,伺服器會將請求頭中的 host 欄位的值作為請求的域名。我們們使用 IP 替換 URL 中的 host 進行訪問,此時網路庫會將 IP 當作 host,伺服器就會解析異常了.
解決方案: request 新增header <host,originHost>
4.如何獲取ip 時間,多個ip如何選擇
思路: 客戶端 採用ping的方式,在github上找了一個第三方
程式碼不夠完善Demo地址--https://github.com/softwarefaith/JiOSDNS
參考文章
相關文章
- Weex技術相關
- DNS安全相關DNS
- Java相關技術點及技術內容Java
- java 相關技術與框架Java框架
- 微服務框架相關技術整理微服務框架
- 遊戲伺服器相關技術遊戲伺服器
- 培訓當前相關技術
- iOS關聯物件技術原理iOS物件
- DNS隧道技術解析DNS
- Linux技術相關命令有哪些Linux
- IPv6 相關技術調研
- 大資料相關技術有哪些?大資料
- tls/ssl工作原理及相關技術TLS
- XML與其相關技術(1) (轉)XML
- Java 相關的編譯技術(轉)Java編譯
- iOS - Foundation相關iOS
- 視訊直播技術之iOS端推流iOS
- 面試驅動技術 - Category 相關考點面試Go
- 100 個容器技術相關技能棧
- YACEP相關技術工具服務技巧(上)
- 十二種特徵工程相關技術簡介特徵工程
- 隱私計算相關技術介紹
- 驗證碼的作用和相關技術
- 如何學習阿里雲相關技術阿里
- 相關技術連線,不斷新增中...
- DNS隧道技術繞防火牆DNS防火牆
- 10、DNS隧道技術再探DNS
- 11、DNS隧道技術調研DNS
- ios技術iOS
- 端內外融合拉新,使用者增長 -- 相關技術方案選型分析
- 論文第2章:相關技術介紹
- AlphaGo相關技術:蒙特卡羅方法簡介Go
- XML入門指南(19)XML相關技術(轉)XML
- 『現學現忘』Docker相關概念 — 8、虛擬化技術和容器技術的關係Docker
- 技術沙龍|京東雲端到端多媒體關鍵技術揭秘
- ios效能優化相關iOS優化
- iOS探索:網路相關iOS
- iOS安全相關書籍iOS