GNU/Linux >> Linux の 問題 >  >> Linux

キャッシュを使用せずに掘り出しを強制的に解決する

解決策 1:

09 を使用できます 特定のサーバーからドメインを検索するための構文。 DNS サーバーがそのドメインに対して権限を持っている場合、応答はキャッシュされた結果にはなりません。

dig @ns1.example.com example.com

16 を要求することで、権限のあるサーバーを見つけることができます ドメインのレコード:

dig example.com NS

解決策 2:

DNS プロトコルには、キャッシュを使用せずにネームサーバーを強制的に応答させるメカニズムはありません。 Dig 自体はネームサーバーではありません。標準の DNS 要求を使用して、設定したネームサーバーにクエリを渡すツールにすぎません。 DNS する サーバーに再帰を使用しないように指示する方法を含めますが、これはあなたが望むものではありません。これは、権限のあるネームサーバーに直接問い合わせたい場合にのみ役立ちます。

ネームサーバーがキャッシュから応答しないようにしたい場合は、ネームサーバーの構成を変更することによってのみ、それを行うことができます。 ですが、ネームサーバーを制御しないと、これは不可能です。

ただし、掘ってバイパスすることはできます 構成されたネームサーバーにアクセスし、ルートサーバーに戻る独自の再帰リクエストを実行します。これを行うには、26 を使用します。 オプション。

dig example.com +trace

実際には、これはローカル キャッシング リゾルバーではなく、権限のあるサーバーにのみクエリを実行するため、これらのサーバーが内部キャッシングを使用していても、結果は古くなりません。 33 を使用することの追加の利点 パスに沿って行われた個別のリクエストをすべて見ることができるということです。

解決策 3:

41 について話すときに、多くの人がこれまで含まれていないことに気付きました。 56 を使用することです 設定 (/etc/resolv.conf) で指定された DNS サーバーではなく、dig クライアントがトレースを行うことを意味します。言い換えれば、dig クライアントは再帰 DNS サーバーのように機能します。しかし - 重要なのは、キャッシュがないことです。

詳細 - すでに 60 を要求している場合 72 を使用して記録する /etc/resolv.conf が 8.8.8.8 の場合、ゾーンの TTL 内で何かを行うと、キャッシュされた結果が返されます。ある意味で、自分のゾーンと Google がそれをどのように認識しているかについて何かを探している場合、ゾーンの TTL について Google で DNS の結果を汚染したことになります。 TTL が短い場合は悪くありませんが、1 時間の場合はややゴミです。

だから、 85 ながら Google に初めて問い合わせたときに、キャッシュされたエントリがなかった場合に何が表示されるかを確認するのに役立ちます。Google が 92 結果は、TTL が期限切れになるまでキャッシュからそれを提供するため、以前に要求し、TTL が長い場合はそうではありません - その後、 105

あまり詳細な IMO を持つことはできません。

解決策 4:

この bash は、最初にリストされたネーム サーバーから example.com の DNS エントリを取得します。

dig @$(dig @8.8.8.8 example.com ns +short | head -n1) example.com ANY +noall +answer
  • 内側の dig は、google の DNS (8.8.8.8) にクエリを実行して、example.com のネームサーバーを取得します。
  • outer dig は、example.com の最初のネーム サーバーにクエリを実行します。

以下は、.zshrc (およびおそらく .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; }

/. の出力は次のとおりです。

☀  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

この解決策は、覚えるのが難しいほど複雑ですが、問題が修正されないほど単純です。 112 私の専門ではありません - 改善を歓迎します :-)


Linux
  1. 確認なしで cp に強制的に上書きさせる方法

  2. grepを使用して単語の接頭辞を削除するには?

  3. シンボリック リンクをコピーせずに rsync のアーカイブ フラグを使用する

  1. Linuxコマンドラインで力を使用する

  2. 確認なしでcpコマンドを強制的に上書きする方法

  3. LinuxでWgetを使用して部分的にダウンロードされたファイルを再開する

  1. bcを使用せずにシェルスクリプトで丸められたパーセンテージを計算する

  2. 「find」を使用して拡張子なしのファイル名を返す

  3. アクセス許可なしで開いたときにvimを使用してファイルを強制的に編集する