Di mana menemukan pengaturan DNS pada MacOS

Hai

Baru-baru ini, saya menghadapi tugas debugging proses penyelesaian nama DNS di MacOS. Saya tidak menemukan materi lengkap tentang bagaimana persisnya terjadi, saya harus mengumpulkan informasi sendiri.

Inilah yang berhasil kami temukan.

Untuk tugas-tugas yang terkait dengan DNS di macOS, daemon bernama mDNSResponder bertanggung jawab. Petualangan terjadi dalam hidupnya - ia digantikan oleh daemon discoveryd (Yosemite), yang banyak pecah dan menciptakan banyak masalah. Setahun kemudian, Apple sadar dan kembali (El Capitan) mDNSResponder terbukti, yang segera memperbaiki sekitar 300 bug dan mengembalikan stabilitas.

mDNSResponder adalah bagian dari Bonjour - seperangkat teknologi yang ditujukan untuk mengoperasikan perangkat di jaringan tanpa perlu konfigurasi, termasuk pencarian layanan, penugasan otomatis alamat dan penyelesaian nama. Bonjour yang digunakan saat Anda mengeluarkan iPhone dan mencari Apple TV atau printer.

gambar

Bonjour masing-masing memiliki kode sumber terbuka, dan mDNSResponder. Ini menyederhanakan tugas jika Anda perlu sampai ke dasar kebenaran tertinggi dan menunjukkan segala sesuatu yang disembunyikan. Arsip sudah memiliki implementasi siap pakai untuk Windows, Posix dan VxWorks.

Daemon menangani unicastDNS dan multicastDNS. UnicastDNS adalah DNS yang biasa kita kenal dan ketahui. MulticastDNS adalah protokol untuk menggunakan DNS di jaringan lokal yang tidak memerlukan server. Jika perangkat perlu menemukan seseorang - ia mengirim pertanyaan - "pertanyaan" paket multicast dan menerima respons dari perangkat dengan nama yang diminta (jika memang ada). Protokol itu sendiri dijelaskan secara rinci dalam RFC dengan nama yang sama.

Ini adalah fitur MulticastDNS yang diresponder - perangkat lunak untuk serangan pada jaringan lokal - pelanggaran. Setelah diluncurkan, ia secara diam-diam mulai menanggapi semua permintaan mDNS, memikat para korban yang tidak menaruh curiga.

Itu adalah penyimpangan - dan sekarang ke pertanyaan utama - bagaimana melihat cache DNS saat ini dan status umum pengaturan DNS.

Jadi, kami melakukan langkah-langkah berikut:

  1. Di terminal kami menulis:

    sudo log config --mode "private_data:on" 

    perintah ini akan memungkinkan kita untuk melihat output, jika tidak maka akan disembunyikan di bawah plug pribadi
  2. Buka konsol, pilih perangkat kami:



    dan di filter kita menulis mDNSResponder

  3. Kami mengeksekusi di terminal:

     sudo killall -INFO mDNSResponder 
  4. Buka konsol kembali dan dapatkan output yang bagus, yang sekarang akan kita analisis sedikit:



Status pengaturan DNS adalah kanvas besar, dibagi menjadi beberapa bagian. Yang paling menarik dari mereka:

Cache - cache DNS langsung disimpan di sini:

 ------------ Cache ------------- Slt Q TTL if U Type rdlen 3 4290 en0 + PTR 33 _companion-link._tcp.local. PTR VMAC._companion-link._tcp.local. 3 4273 en0 + PTR 37 _companion-link._tcp.local. PTR VMAC\032(2)._companion-link._tcp.local. 6 107951 -U- - Addr 0 isafronov-G8WP. Addr 6 107951 -U- SOA 64 . SOA a.root-servers.net. nstld.verisign-grs.com. 2019011700 1800 900 604800 86400 6 107951 -U- - AAAA 0 isafronov-G8WP. AAAA 6 107951 -U- SOA 64 . SOA a.root-servers.net. nstld.verisign-grs.com. 2019011700 1800 900 604800 86400 9 763 -U- CNAME 37 1-courier.push.apple.com. CNAME 1.courier-push-apple.com.akadns.net. 13 8819 -U- CNAME 22 ax.itunes.apple.com.edgesuite.net. CNAME a1108.gi3.akamai.net. 

Isi file / etc / hosts - untuk berjaga-jaga:

 --------- /etc/hosts --------- State Interface KnownUnique LO 4 localhost. Addr 127.0.0.1 KnownUnique LO 16 localhost. AAAA ::1 KnownUnique LO 4 vmware-localhost. Addr 127.0.0.1 KnownUnique LO 16 vmware-localhost. AAAA ::1 KnownUnique LO 4 broadcasthost. Addr 255.255.255.255 

Statistik MDNS - nama duplikat, jumlah paket, acara antarmuka:

 --- MDNS Statistics --- Name Conflicts 0 KnownUnique Name Conflicts 0 Duplicate Query Suppressions 2045 KA Suppressions 0 KA Multiple Packets 0 Poof Cache Deletions 203 -------------------------------- Multicast packets Sent 8211 Multicast packets Received 22382 Remote Subnet packets 1 QU questions received 25960 Normal multicast questions 62197 Answers for questions 4259 Unicast responses 0 Multicast responses 0 Unicast response Demotions 0 -------------------------------- Sleeps 181 Wakeups 182 Interface UP events 665 Interface UP Flap events 48 Interface Down events 817 Interface DownFlap events 16 Cache refresh queries 2876 Cache refreshed 28935 Wakeup on Resolves 0 

Daftar antarmuka jaringan:

 ------ Network Interfaces ------ Struct addr Registered MAC BSSID Interface Address 00007FA2FD834E00 11, 00007FA2FD834E00, v6 utun0 00:00:00:00:00:00 00:00:00:00:00:00 Active A fe80::ebfb:c666:8f7b:62ed 00007FA2FF01B800 9, 00007FA2FF01B800, v6 awdl0 DE:14:B1:E7:21:33 00:00:00:00:00:00 Active v6 AM fe80::dc14:b1ff:fee7:2133 00007FA2FD829C00 7, 0000000000000000, v4 en0 F4:5C:89:8E:9D:C1 E4:8D:8C:61:7F:5D 192.168.1.73 dormant for 1943 seconds 00007FA2FD00C200 13, 00007FA2FD00C200, v4 en5 42:4D:7F:A3:50:1B 00:00:00:00:00:00 Active v4 AM 169.254.150.120 00007FA2FE008C00 7, 00007FA2FE008C00, v4 en0 F4:5C:89:8E:9D:C1 E4:8D:8C:61:7F:5C Active v4 AM p 192.168.1.73 

Daftar server DNS:

 --------- DNS Servers(2) ---------- DNS Server . en0 127.0.0.1:53 0 Unscoped 30 18283 v4 v6 !cell !exp !clat46 !DNSSECAware DNS Server . en0 127.0.0.1:53 0 InterfaceScoped 30 18291 v4 v6 !cell !exp !clat46 !DNSSECAware v4answers 1 v6answers 1 Last DNS Trigger: 140697 ms ago 

Dunia interaksi internal dan eksternal dari subsistem MacOS sangat luas dan penuh misteri. Bekerja dengan nama domain hanyalah sebagian kecil saja. Untuk bacaan lebih lanjut, saya sarankan:

  • Kertas putih apel
  • Penjelajah blog malware dan * penggemar OS Patrick Wardle
  • Situs peneliti dan buku-buku dan praktik * OS Johnatan Levin

Source: https://habr.com/ru/post/id436484/


All Articles