問題タブ [libresolv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - gcc/cygwin はどのように DNS サーバーを取得しますか?
gethostbyname(); を正常に使用する cygwin で (GCC を使用して) 書いているコードがあります。ただし、リゾルバーを直接使用して DNS サーバーの IP アドレスを取得しようとすると失敗します (nsaddr_list[] のすべてのエントリが null で、nscount が -1 です)。gethostbyname() が機能している場合、明らかに DNS サーバーに接続できます。
このコード...
unix/linux で動作しますが、cygwin では nscount=-1 を返します。cygwin/gcc を使用しているときに DNS サーバーを取得するためのトリックはありますか?
c - cクエリtxtレコード
誰もが、DNS txtレコードを読み取るためのプログラムを作成していますが、問題があります。理由は誰にわかりますか?以下は私のソースコードです
出力:Fv=spf1 redirect=_spf.google.com
ただし、元のtxtレコードはv=spf1 redirect=_spf.google.com
私の問題はu_char const *rdata = (u_char*)(ns_rr_rdata(query_parse_rr) )
に変更した場合u_char const *rdata = (u_char*)(ns_rr_rdata(query_parse_rr) +1)
出力は次のように変更されます。v=spf1 redirect=_spf.google.com
また、MXレコードをクエリする方法を参照しましたが、+ 2であることがわかりました。理由は何でもわかりますか?
c - サーバーにクエリを実行して MX、A、NS レコードを取得する方法
次のように、A、MX、および NS A サーバー レコードを取得しようとしています。
リクエストに応じて、同じもの、つまり同じ A レコードをたくさん受け取ります。NSレコードも同様。私は何を間違っていますか?例 :
助けてください。
ios - iOS でシステム ライブラリ (例: libresolv) に dlopen() と dlsym() を使用することは許可されていますか?
iOS でシステム ライブラリ (例: libresolv) に dlopen() と dlsym() を使用することは許可されていますか?
事前にご回答いただきありがとうございます!
c - DNS A レコードの TTL 値の抽出
私はいくつかの DNS 処理を行っており、SRV の A レコード ルックアップを実行し、そこから ttl と IP アドレスを抽出する必要があります。
以下のコードで ip は抽出できましたが、TTL はどのように抽出すればよいのでしょうか?
出力:
c - DNS Aレコードの解析中にuint32_t形式でIPを取得する方法
レコードを解析しようとしています:
現在inet_ntop
、1.1.1.1形式でIPを提供していますが、32ビット整数として欲しいのですが、何か考えはありますか?
c++ - CNAME レコードをバッキングする A レコードの設定された TTL
libresolv を使用してドメインの権限のあるネームサーバーのリストを取得し、それらのネームサーバーの 1 つに直接クエリを実行してホストを解決しています。
そうすれば、A レコードに設定された TTL を取得でき、その TTL でコード内の DNS レコードを更新することを選択できます。
ただし、CNAMES を参照するホストを処理する方法がわからないという点で問題が発生しました。たとえば、 からの出力はwww.microsoft.com
次のようになります。
CNAME TTL を使用してホストを更新する必要がありますか? その場合、CNAME に設定された TTL を取得するにはどうすればよいですか?
または、CNAME にリンクされている A レコード (つまりe10088.dspb.akamaiedge.net
) を使用して使用を更新する必要がありますか? その場合、そのホストに設定された TTL を取得するにはどうすればよいですか?
専門家が提供できる情報は大歓迎です。
linux - Linux でプログラムによって IPv6 DNS サーバー リストを取得する
プログラムで IPv6 DNS サーバーのリストを取得しようとしています。現在、libresolv と次のコードを使用しています。
resolv.h によると、res->_u._ext.nsaddrs フィールドには、必要なアドレスを含む「struct sockaddr_in6 *」の配列が含まれているはずですが、NULL の配列が含まれています。
IPv4 DNS サーバー リストは res->nsaddr_list フィールドからアクセスできますが、IPv6 リストは常に空です。これをUbuntuとCentOSの両方で確認しました。IPv6 が正しく構成されている。