問題タブ [gethostbyname]
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.
perl - Perl の IPv6 アドレスへのドメイン名
ドメイン名を IP アドレスに変換する次の Perl コードがあります。IPv4 では正常に動作します。
ただし、「ipv6.google.com」などのIPv6専用ドメイン名の場合は動作しません。
IPv6 IP アドレスを取得するための 1 行のコード (CORE ライブラリを優先) を取得するにはどうすればよいですか?
c - gethostbyname() プロセスは、異なるスレッドからでも一貫して解決しますか?
異なるスレッドから gethostbyname() による DNS 解決の実験を行いました。ネットワーク リンクをオフにして、以下のプログラムを実行しました。そして、出力は次のようになりました
gethostbyname() は同時に開始されましたが、40 秒のタイムアウトで 1 つずつ終了しました。
次に、getaddrinfo() を試してみました。そして、この機能はこの問題に悩まされていないようです
では、なぜこの結果が得られたのでしょうか。また、この動作は Linux のみに固有のものなのでしょうか?
c - 子スレッドから呼び出されたときに getaddrinfo と gethostbyname がクラッシュしますか?
Ubuntu で実行されるマルチスレッドのシングル コア アプリケーションを作成しました。
メインプロセスから呼び出すgetaddrinfo
とgethostbyname
、クラッシュしません。
ただし、メイン プロセスと関数からスレッドを作成し、作成されたgetaddrinfo
スレッドgethostbyname
から呼び出されると、常にクラッシュします。
親切に助けてください。以下のコールスタックを見つけてください。
c - gethostbyname - h_addr_list の最初のビットが正しくありません
タイトルにあるように、私が取得しているデータgethostbyname
の最初のビットが壊れているようです。
以下に短い例を示します。
UP は次のように定義されます。
#define UP(X) (((int)X) & 0XFF)
上記のコードの出力は次のとおりです。
-127.21.37.10
と129.21.37.10
。
inet_ntoa
これで、char* バージョンの IP アドレスを取得するためにを使用する必要があることがわかりました。ただし、最初のバイトが壊れている理由を誰か知っていますか? host->h_addr_list
最初のアドレスから char** を取得している[]
ため、最初のアドレス[]
を参照し、2 番目のアドレスは実際の文字を逆参照する必要があります。char が 1 バイトであるのに、マングルされたビットをクリアするためにビット単位の演算子を実行する必要があるのはなぜですか?
混乱の層に加えて、-127 または 129 を取得している理由です。
たとえば、バイナリでは、1 バイトの 129 は次のようになります。
1000 0001
ただし、-127 の値に基づいて、私の基本的なバイナリ値がであることを示唆しています。
1111 1111
今、私が本当に混乱しているのは、0XFF (1111 1111) のビット演算子が 129 を返す方法です。余分なデータはどこから来ていますか?
事前に助けてくれてありがとう。
c++ - gethostbyname 関数での IP アドレスの順序
前回の質問で回答が得られなかったので、言い直します。
PC 名 (NetBIOS 名) を使用して gethostbyname() を実行するときに、IP アドレスの順序 (IP アドレスが 1 つのインターフェースにバインドされている場合) が使用されますか?
私はこのコードを持っています:
また、Windows Server 2012 と Windows Server 2008 / Windows 7 では異なる結果が得られます。Windows 7 を搭載した自宅の PC では、昇順が使用されます。
ただし、Windows サーバー 2012 では、降順で IP アドレスが表示されます。
再注文する方法はありますか?これらの IP アドレスを追加するときに skipassource フラグを試しましたが、この場合はうまくいかないようです。
gethostname() に続いて gethostbyname() を使用して独自の IP アドレスを決定するサードパーティ ソフトウェアがあります (リストの最初に取得されます)。また、システムに新しい IP アドレスを追加するたびに、設定とクライアント側を変更する必要があるのは本当にイライラします。
sockets - gethostbyname が外部サーバーに対して機能しない
サーバーに接続するために C++ でアプリケーションを作成しています。
を使用してgethostbyname()
います。ホスト名を「localhost」として指定すると、正常に動作します。しかし、google.com などの他のサイトを試してみると失敗します。
誰でも何がうまくいかないのか教えてください。
ブラウザからこれらの Web サイトにアクセスできます。注: ブラウザにプロキシを設定しています。
プロキシが問題を引き起こしていgethostbyname()
ますか? はいの場合、C++ コードでプロキシについて言及するにはどうすればよいですか?
c - gethostbyname バッファ オーバーフロー
GHOST や CVE-2015-0235 の脆弱性について調べています。私のシステムが脆弱であることがわかりました。この効果を確認するために、テスト プログラムを作成します。しかし、何も見えません。聞くのは私の試みです:
何が起こるかわかりませんか?gethostbyname() 、gethostbyname_r()、gethostbyname2() または gethostbyname2_r の違いは何ですか。私はこれについて多くの研究をしています。誰でも私を助けることができますか?ありがとう。