問題タブ [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.

0 投票する
2 に答える
6830 参照

c - gcc/cygwin はどのように DNS サーバーを取得しますか?

gethostbyname(); を正常に使用する cygwin で (GCC を使用して) 書いているコードがあります。ただし、リゾルバーを直接使用して DNS サーバーの IP アドレスを取得しようとすると失敗します (nsaddr_list[] のすべてのエントリが null で、nscount が -1 です)。gethostbyname() が機能している場合、明らかに DNS サーバーに接続できます。
このコード...

unix/linux で動作しますが、cygwin では nscount=-1 を返します。cygwin/gcc を使用しているときに DNS サーバーを取得するためのトリックはありますか?

0 投票する
1 に答える
1870 参照

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であることがわかりました。理由は何でもわかりますか?

0 投票する
2 に答える
5434 参照

c - サーバーにクエリを実行して MX、A、NS レコードを取得する方法

次のように、A、MX、および NS A サーバー レコードを取得しようとしています。

リクエストに応じて、同じもの、つまり同じ A レコードをたくさん受け取ります。NSレコードも同様。私は何を間違っていますか?例 :

助けてください。

0 投票する
1 に答える
409 参照

ios - iOS でシステム ライブラリ (例: libresolv) に dlopen() と dlsym() を使用することは許可されていますか?

iOS でシステム ライブラリ (例: libresolv) に dlopen() と dlsym() を使用することは許可されていますか?

事前にご回答いただきありがとうございます!

0 投票する
1 に答える
1664 参照

c - DNS A レコードの TTL 値の抽出

私はいくつかの DNS 処理を行っており、SRV の A レコード ルックアップを実行し、そこから ttl と IP アドレスを抽出する必要があります。

以下のコードで ip は抽出できましたが、TTL はどのように抽出すればよいのでしょうか?

出力:

0 投票する
0 に答える
107 参照

c - DNS Aレコードの解析中にuint32_t形式でIPを取得する方法

レコードを解析しようとしています:

現在inet_ntop、1.1.1.1形式でIPを提供していますが、32ビット整数として欲しいのですが、何か考えはありますか?

0 投票する
1 に答える
424 参照

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 を取得するにはどうすればよいですか?

専門家が提供できる情報は大歓迎です。

0 投票する
1 に答える
485 参照

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 が正しく構成されている。