DNS Çözümleyici

DNS Çözümleyici modülü, DNS müdahalesi ve yapılandırma güncelleme saldırıları için kullanıcı koruması ve DNS çözümleri için geliştirilmiş ağ performansı sağlar. Modül kodu içerdiğini uygular böyle 2001 olarak IP adreslerine www.google.com gibi isimler çevirir DNS saplama çözümleyici,: DB8 :: 1. DNS saplama çözümleyici gibi Java API elemanlarını yedekler InetAddress # getAllByName ve Ağ # getAllByName yanı sıra yerli ağ fonksiyonları sonuçları gönderme ve DNS sorgularını almak ve önbelleğe ve uygular.

Android 10'daki değişiklikler

Android'i 9 ve alt çalıştıran cihazlarda, DNS çözümleyici kod Bionic ve karşısında yayılır netd . DNS araması merkezlendirilmiştir netd uygulamalar (örneğin, işlevleri çağırmak ederken, sistem çapında önbellek için izin vermek cini getaddrinfo Bionic olarak). Sorgu bir UNIX soket için üzerinden gönderilen /dev/socket/dnsproxyd için netd istek ve çağrıları ayrıştırır cini, getaddrinfo konu DNS aramaları için tekrar ardından diğer uygulamalar bunları kullanmak, böylece sonuçları önbelleğe alır. DNS çözümleyici uygulanması çoğunlukla yer aldığını bionic/libc/dns/ ve kısmen de system/netd/server/dns .

Android 10 hamle DNS çözümleyici kod system/netd/resolv, dönüştürür o C ++, daha sonra kodu modernize eder ve refactors. Bionic'teki kod, uygulama uyumluluğu nedenleriyle var olmaya devam ediyor, ancak artık sistem tarafından çağrılmıyor. Bu kaynak yolları yeniden düzenlemeden etkilenir:

  • bionic/libc/dns
  • system/netd/client
  • system/netd/server/dns
  • system/netd/server/DnsProxyListener.*
  • system/netd/resolv

Biçim ve bağımlılıklar

DNS Çözümleyici modülü olarak teslim edilir APEX dosyası ve dinamik ile bağlantılıdır netd ; Bununla birlikte, netd modülü yerel soket hizmet veren bir bağımlılık değildir /dev/socket/dnsproxyd şirketinden. Çözümleyici yapılandırma için Bağlayıcı uç nokta taşındı netd sistem hizmeti geçmeden çözümleyici modülüne doğrudan arayabilir, yani resolvere netd .

DNS Çözümleyici modülü bağlıdır libc (Bionic) ve statik olarak bağımlılıkları bağlar; başka kütüphanelere gerek yoktur.