GNU/Linux >> Belajar Linux >  >> Linux

Paksa menggali untuk menyelesaikan tanpa menggunakan cache

Solusi 1:

Anda dapat menggunakan 02 sintaks untuk mencari domain dari server tertentu. Jika server DNS otoritatif untuk domain tersebut, responsnya tidak akan berupa hasil cache.

dig @ns1.example.com example.com

Anda dapat menemukan server resmi dengan meminta 19 data untuk domain:

dig example.com NS

Solusi 2:

Tidak ada mekanisme dalam protokol DNS untuk memaksa server nama merespons tanpa menggunakan cache-nya. Dig sendiri bukanlah server nama, ini hanyalah alat yang meneruskan kueri Anda ke server nama mana pun yang telah Anda konfigurasikan, menggunakan permintaan DNS standar. DNS bisa sertakan cara untuk memberi tahu server agar tidak menggunakan rekursi, tetapi ini bukan yang Anda inginkan. Itu hanya berguna ketika Anda ingin langsung mengkueri server nama otoritatif.

Jika Anda ingin menghentikan server nama merespons dari cache-nya, Anda hanya dapat melakukannya dengan mengubah konfigurasi pada server nama , tetapi jika Anda tidak mengontrol server nama, ini tidak mungkin.

Namun, Anda dapat menggali untuk melewati server nama yang dikonfigurasi, dan melakukan permintaan rekursifnya sendiri yang kembali ke server root. Untuk melakukannya, gunakan 29 opsi.

dig example.com +trace

Dalam praktiknya karena ini hanya akan menanyakan server otoritatif daripada penyelesai caching lokal Anda, hasilnya tidak akan basi bahkan jika server tersebut menggunakan caching internal. Manfaat tambahan menggunakan 36 adalah Anda dapat melihat semua permintaan terpisah yang dibuat di sepanjang jalur.

Solusi 3:

Sesuatu yang penting untuk diperhatikan di sini, yang saya perhatikan banyak orang tidak pernah memasukkannya ketika berbicara tentang 44 apakah itu menggunakan 59 berarti klien penggalian akan melakukan pelacakan, bukan server DNS yang ditentukan dalam konfigurasi Anda (/etc/resolv.conf). Jadi, dengan kata lain, klien penggalian Anda akan berfungsi seperti server DNS rekursif, jika Anda menanyakannya. Namun - yang terpenting, Anda tidak memiliki cache.

Lebih detail - jadi jika Anda sudah meminta 63 rekam menggunakan 75 dan /etc/resolv.conf Anda adalah 8.8.8.8 kemudian melakukan apa pun di dalam TTL zona akan mengembalikan hasil yang di-cache. Di satu sisi, jika Anda mencari sesuatu tentang zona Anda sendiri dan bagaimana Google melihatnya, Anda telah meracuni hasil DNS Anda dengan Google untuk TTL Zona Anda. Lumayan jika Anda memiliki TTL pendek, agak sampah jika Anda memiliki TTL 1 jam.

Jadi, sementara 88 akan membantu Anda melihat apa yang AKAN dilihat jika Anda meminta Google untuk PERTAMA kalinya dan tidak ada entri yang di-cache, ini mungkin memberi Anda ide yang salah bahwa Google akan memberi tahu semua orang hal yang sama seperti 95 hasilnya adalah, yang tidak akan terjadi jika Anda bertanya sebelumnya dan memiliki TTL yang panjang, karena ini akan menayangkannya dari cache hingga TTL kedaluwarsa - MAKA itu akan berfungsi sama dengan 108 terungkap.

IMO tidak boleh memiliki terlalu banyak detail.

Solusi 4:

Pesta ini akan menggali entri DNS example.com dari server nama pertama yang terdaftar:

dig @$(dig @8.8.8.8 example.com ns +short | head -n1) example.com ANY +noall +answer
  • Penggalian bagian dalam menanyakan DNS Google (8.8.8.8) untuk mendapatkan server nama example.com.
  • Penggalian luar mengkueri server nama depan example.com.

Ini sama dengan alias untuk .zshrc (dan mungkin .bashrc):

# e.g. `checkdns google.com`
checkdns () { dig @$(dig @8.8.8.8 $1 ns +short | head -n1) $1 ANY +noall +answer; ping -c1 $1; }

Inilah keluaran untuk /.:

☀  checkdns slashdot.org                                                                                                dev
-->Server DNS Query

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @ns1.dnsmadeeasy.com. slashdot.org ANY +noall +answer
; (2 servers found)
;; global options: +cmd
slashdot.org.       21600   IN  SOA ns0.dnsmadeeasy.com. hostmaster.slashdotmedia.com. 2016045603 14400 600 604800 300
slashdot.org.       86400   IN  NS  ns3.dnsmadeeasy.com.
slashdot.org.       86400   IN  NS  ns4.dnsmadeeasy.com.
slashdot.org.       86400   IN  NS  ns0.dnsmadeeasy.com.
slashdot.org.       86400   IN  NS  ns2.dnsmadeeasy.com.
slashdot.org.       86400   IN  NS  ns1.dnsmadeeasy.com.
slashdot.org.       3600    IN  MX  10 mx.sourceforge.net.
slashdot.org.       3600    IN  TXT "google-site-verification=mwj5KfwLNG8eetH4m5w1VEUAzUlHotrNwnprxNQN5Io"
slashdot.org.       3600    IN  TXT "v=spf1 include:servers.mcsv.net ip4:216.34.181.51 ?all"
slashdot.org.       300 IN  A   216.34.181.45
-->Local DNS Query
PING slashdot.org (216.34.181.45) 56(84) bytes of data.
64 bytes from slashdot.org (216.34.181.45): icmp_seq=1 ttl=242 time=33.0 ms

--- slashdot.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 33.026/33.026/33.026/0.000 ms

Solusi ini cukup rumit sehingga tidak praktis untuk diingat, tetapi cukup sederhana untuk masalah yang tidak dapat diperbaiki. 115 bukan keahlian saya -perbaikan diterima :-)


Linux
  1. Cara Memaksa Perintah cp untuk Ditimpa tanpa Konfirmasi

  2. Cara memaksa cp untuk menimpa tanpa konfirmasi

  3. Menghitung persentase pembulatan dalam Shell Script tanpa menggunakan bc

  1. Menggunakan kekuatan di baris perintah Linux

  2. Menggunakan vim untuk memaksa mengedit file saat Anda membuka tanpa izin

  3. Memulihkan ~/.bashrc tanpa menggunakan perintah bash

  1. Lanjutkan File yang Diunduh Sebagian Menggunakan Wget Di Linux

  2. Bagaimana cara menghapus awalan kata menggunakan grep?

  3. Menggunakan 'temukan' untuk mengembalikan nama file tanpa ekstensi