問題タブ [ipv4]
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.
java - v4アドレスとv6アドレスの両方を持つインターフェイスでIPv4サブネットマスクを取得するにはどうすればよいですか?
ipv4アドレス(4オクテット)を返すInterfaceAddressがあります。ただし、ネットワークプレフィックスの長さは、インターフェイスに関連付けられているipv6アドレスのもののようです(128として返されます)。正しいネットワークプレフィックス長を見つけるにはどうすればよいですか?
c++ - getifaddrs の Win XP への移植
MacOSX アプリを Windows に移植しようとしていますが、getifaddrs に関する問題に遭遇しました。基本的にWindowsはサポートしていません。私はそれを再実装する方法を見つけようとしています (AF_INET および AF_INET6 の場合) が、Windows の「同等の」機能は MacOSX サポートのようには見えません。
誰かがこの種の変換を以前に行ったことがありますか? もしそうなら、Windows に MacOSX のようにインターフェイス情報を報告させる良い方法はありますか?
java - 有効なホスト名、IPv4、または IPv6 アドレスを受け入れるための Java 正規表現
有効な DNS ホスト名、IPv4 または IPv6 アドレスのみを受け入れるための優れた (できればテスト済みの) 正規表現を持っている人はいますか?
java - request.getRemoteAddr() がコンテキストに応じて ipv4 または ipv6 を返す理由 (ポストクエリまたは ajax クエリ)
Flash を使用してファイルをアップロードする Spring/GWT を使用した Web アプリを作成しました。
GWT で ajax リクエストを送信し、ユーザーの IP アドレスを取得しようとすると、127.0.0.1 のような ipv4 アドレスを取得します。
しかし、フラッシュを使用してファイルをアップロードすると (および同じ webapp での投稿要求)、ipv6 アドレス 0:0:0:0:0:0:0:1 が取得されます。
同じコードを使用して、次のユーザー IP を取得します。
問題は、IPアドレスを使用する署名を使用して、ユーザーがファイルをアップロードできることを確認し(フラッシュでアップロードするとセッションが失われるというバグのため)、ajaxまたはフラッシュ経由で投稿するとIPアドレスが変更されることです。
何が問題で、どうすれば同じ ip 形式を取得できますか?
ありがとう
networking - TCP 接続の基本
これは基本的な疑問ですが、同じ 2 台のマシン間で 2 つの TCP 接続を確立した場合、両方の接続のパケットが同じパス (同じリンクとノード) をたどるかどうかを知りたかったのです。私がこれを尋ねている理由は、IPv4 と IPv6 の両方の TCP 接続の 2 台のマシン間の帯域幅を測定したいためであり、これらの接続が両方とも同じパスをたどっていることを確認したいからです。
java - IPv6 をサポートするために必要な変更
IPv6 と IPv4 をサポートするために Web サイトをどのように変更する必要がありましたか? また、Javaでソケットサービスを使用すると、両方のタイプの接続を受け入れるために必要な変更は何ですか?
環境
OS - Linux
ウェブサーバー - Tomcat 5.5
php - PHP IPv6 をバイナリ (/メモリ) 表現に変換する
私はすでにIPv4に対してこれを「実行」しました。
IPv6でも上記を行う必要があります。IPv6 仕様を読んで (すべてを読んだわけではないことは認めます)、0 のセットを 2 つのコロンに圧縮できるなど、いくつかの奇妙な点 (「例外」) を見つけました: ":0000:0000"=> "::" (私の理解が正しければ)。また、IPv6 文字列内に IPv4 スタイルの文字列を含める方法も見ました: 0:0:0:0:0:0:127.0.0.1
どこから始めればいいのかわからないということから始めましょう。
Alvaro のおかげで、inet_pton の純粋な PHP 実装を手に入れることができました。
問題は、それが何をしているのかよく理解できないことです。問題は、(1 つの理由として) 私が行っている (またはしたい) ものとは異なる形式で IP をパックしていることを知っているので、そのような関数を使用することはできないということです。
ipv6 - IPv4 アドレスはいつ枯渇しますか?
何年も前から、IPv4 アドレスはもうすぐ枯渇すると聞いています。それはいつ起こりますか?IPv6 のみのアプリケーションはいつ表示されますか?
c - getaddrinfo の一貫性のない動作
getaddrinfo を使用して、localhost でのみ接続を受け入れるローカル サーバーを起動しています。
これは問題なく動作するようで、IPv6 が存在する場合は IPv6 アドレス ::1 が、存在しない場合は IPv4 アドレスが返されます。
ときどき Windows 2008 R2 を除いて (少なくとも私が見た唯一のシステムですが、顧客のシステムで 2 回見ました)、IPv6 ではなく 127.0.0.1 にバインドされます!
::1 をバインドすると 127.1 と ::1 の両方の接続を受け入れるため、これは私を混乱させますが、127.1 をバインドすると IPv6 接続は受け入れられません。
c - サーバーが可能であればIPv6でリッスンし、そうでない場合はIPv4でリッスンするようにするにはどうすればよいですか?
IPv6接続とIPv4接続の両方をリッスンするサーバーアプリケーションを作成しようとしています。これを実現する適切な方法は、IPv4接続も受け入れるIPv6アドレスをリッスンしているようです。
関連するコードは次のとおりです。
(Beejのガイドからほとんどコピーペーストされています)
問題は、少なくとも私のシステムでは、 1番目と2番目getaddrinfo
のエントリを返すのに対し、仕様に従って、クライアントが最初に返すことです。私の素朴なアプローチでは、サーバーはIPv4を選択し、クライアントはIPv6を選択し、接続は失敗します。AF_INET
AF_INET6
getaddrinfo
AF_INET6
を設定してこれを修正しようとしましhints.ai_family = AF_INET6
たが、IPv6が利用できないシステムでは失敗します。
私は2つの明白な解決策を見ています:
a)最初にIPv6を要求し、それが失敗した場合はIPv4にフォールバックするか、
b)の結果をウォークスルーしgetaddrinfo
、IPv6を探し、存在しない場合は最初のエントリを選択し
ますが、私は好きではありませんどちらかが多すぎる;)getaddrinfo
正しいことをするように説得する方法、またはおそらく私の目標を達成するための別の方法があるべきだと私は感じています。