問題タブ [ipv6]

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 投票する
30 に答える
224473 参照

regex - 有効なIPv6アドレスに一致する正規表現

::圧縮形式のアドレス(各バイトペアからゼロまたは先行ゼロが省略されている) を含む、有効なIPv6アドレスに一致する正規表現を作成するのに問題があります。

誰かが要件を満たす正規表現を提案できますか?

各バイトペアを拡張し、結果をより単純な正規表現と一致させることを検討しています。

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

dns - IPv6 を使用しない場合の Ping の失敗

私たちのユーザー インターフェイスは、別のマシン上の別のアプリケーションと通信しており、多くの場合、ドメイン名を使用して接続しています。

私たちのネットワークでは、IPv6 がインストールされている場合、DNS の名前解決はうまく機能し、すべてのマシンに ping を実行して正常に接続できます。

IPv6 がアンインストールされている場合、同じ DNS 名に ping を実行すると、離れたサブネット (24.28.193.9、ローカル サブネットは 192.168.1.1) の IP アドレスが返されます。その後、アプリケーションは通信できなくなります。IPv6 を再インストールすると、DNS 解決が自動的に修正されます。

ping が機能しないときに IPv6 がなくても、Windows エクスプローラーを使用して\\\\MACHINE_NAME\\. ここで名前解決が機能しているように見える理由がわかりません。Windows XP SP2 環境で作業しています。

マシンの IP は正常に ping できます。正しく解決されないのは DNS 名のみです。

DNS サーバーのアドレスを探しました。すべてのコンピューターは、ワイヤレス ルーターであるネットワーク ゲートウェイを指しています。ルーターには、IPv6 がインストールされている場合と、インストールされていない場合とで同じ DNS サーバー アドレスがリストされます。

最も奇妙なことは、ping を実行する DNS 名は問題ではないことを発見したことです。DNS 名へのすべての ping は、同じアドレス「24.28.193.9」を返します。

DNS Resolver Cache をフラッシュして、ターゲット マシンとソース マシンに DNS を登録してみました。すべて役に立たない。ping できる唯一の DNS 名は、現在のマシンの名前です。

IPv6 がインストールされていないとソフトウェアが通信できない理由について何か考えはありますか?


アップデート:

わかりました、私は今もう少し研究をしました。

DNS サーバーのアドレスを探しました。すべてのコンピューターは、ワイヤレス ルーターであるネットワーク ゲートウェイを指しています。ルーターには、IPv6 がインストールされている場合と、インストールされていない場合とで同じ DNS サーバー アドレスがリストされます。

最も奇妙なことは、ping を実行する DNS 名は問題ではないことを発見したことです。DNS 名へのすべての ping は、同じアドレス「24.28.193.9」を返します。

DNS Resolver Cache をフラッシュして、ターゲット マシンとソース マシンに DNS を登録してみました。すべて役に立たない。ping できる唯一の DNS 名は、現在のマシンの名前です。

他の提案はありますか?どうもありがとうございました。

0 投票する
6 に答える
179333 参照

ip - IPv6アドレスのテキスト表現の最大長?

$_SERVER["REMOTE_ADDR"]PHPで返されたデータをDBフィールドに保存したいのですが、これは非常に単純な作業です。問題は、IPv6アドレスのテキスト表現の最大長に関する適切な情報が見つからないことです。これは、Webサーバーがを介して提供するもの$_SERVER["REMOTE_ADDR"]です。

テキスト表現をアドレスが通常エンコードされる128ビットに変換することに興味はありません。によって返されるIPv6アドレスを格納するために必要な最大文字数を知りたいだけです$_SERVER["REMOTE_ADDR"]

0 投票する
6 に答える
139019 参照

tcp - ポートは IPv6 でどのように機能しますか?

従来の IPv4 のドット付き 4 重表記では、次のループバック インターフェイス上の Web サーバーの例のように、アドレスとポートをコロンで区切ります。

ただし、IPv6 表記では、アドレス自体にコロンを含めることができます。たとえば、これはループバック アドレスの短い形式です。

ポート (または同等の機能) は、IPv6 アドレス/ポート エンドポイントのテキスト表現でどのように表現されますか?

0 投票する
4 に答える
3264 参照

network-protocols - IPv6は、アプリケーションの開発と設計にどのようなメリット/影響を及ぼしますか?

IPv6と、IPv4からIPv6への差し迫った切り替えについて多くの報道がありました。IPv6についてはある程度理解していますが、IPv6がアプリケーションの開発と設計(具体的には)にどの程度の影響を与えるのか疑問に思うことがよくあります。

IPv6が提供する、今日まだ得られていない具体的でよく知られた利点はありますか?

WindowsVistaとServer2008がIPv6をすぐにサポートしていることを知っていますが、今日、IPv6を使用している(またはIPv6を念頭に置いて設計している)人はいますか?もしそうなら、どのような利点がありますか?現在および将来のプロジェクトでIPv6を検討する必要がありますか?

IPv6対応アプリケーションの 良い例はありますか?

0 投票する
3 に答える
2673 参照

python - Pythonでipv6プレフィックスを抽出する

IPv6 アドレスのバイナリ表現または文字列表現とそのプレフィックス長が与えられた場合、Python でプレフィックスを抽出する最良の方法は何ですか?

私のためにこれを行うライブラリはありますか、それとも次のようにする必要がありますか?

  1. アドレスを文字列から int に変換します (inet_ntop)
  2. プレフィックスをマスクします
  3. プレフィックスをバイナリに戻す
  4. バイナリを文字列に変換 (inet_ntop)
0 投票する
4 に答える
3555 参照

python - pcapy/imppacket の IPv6 デコーダー

pcapy / impacketライブラリを使用して、Python でネットワーク パケットをデコードします。IPv4 パケットの構文を認識している IP デコーダーがありますが、明らかに IPv6 デコーダーはありません。

誰かがそれを手に入れますか?

非公開の通信で、Impacket のメンテナーは、 Scapyから始める方が良いかもしれないと言います

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

c - IPv6 で resolv.h の名前リゾルバを使用する

名前解決を実行し、プロセスを適切に制御する必要があるプログラムを作成または変更します。したがって、私は を使用しませんgetaddrinfo()。さらに深く掘り下げて、res_query()/ res_send()/ などを使用resolv.hします。

文書化されていませんが、使用されるリゾルバーを設定する一般的な方法は update_res.nsaddr_listです。しかし、resolv.h で定義されているこの配列に struct sockaddr_inは、IPv4 アドレスのみが格納されます。(IPv6 アドレスはstruct sockaddr_in6であり、ファミリに依存しないシステムは を使用しますstruct sockaddr。)

_resIPv6アドレスも必要であることを伝える方法(少なくともさまざまなUnixの中で移植可能であることが望ましい)を探しています。

どうやら、ずっと前に、_res_extこの機能を備えた FreeBSD がありましたが、最近の FreeBSD 7 ではもう見つかりません (grep _res_ext /usr/include/resolv.h何も見つかりません)。それを使用するコードを見つけることができます ( Google Codesearch で試してみてください)。

Alnitak のおかげで、明らかに今_res._extではなく.res_ext. この種のことはどこで文書化または発表されているのだろうか...移植性がどれほどかはわかりません_res._ext。Debian と FreeBSD で見つけることができます。それを使用するプログラムはほとんどないようです。

0 投票する
25 に答える
332539 参照

linux - 非ルート プロセスを Linux の「特権」ポートにバインドする方法はありますか?

私以外のユーザーがいないときに、私の開発ボックスにこの制限があるのは非常に面倒です。

私は標準的な回避策を知っていますが、どれも私が望むことを正確に行うものではありません:

  1. authbind (Debian テスト中のバージョン 1.0 は IPv4 のみをサポートします)
  2. iptables REDIRECT ターゲットを使用して、低いポートを高いポートにリダイレクトします(「nat」テーブルは、iptables の IPv6 バージョンである ip6tables にはまだ実装されていません)。
  3. sudo (ルートとして実行することは避けようとしています)
  4. SELinux (または類似)。(これは単なる私の開発ボックスです。余分な複雑さを導入したくありません。)

sysctl非ルート プロセスが Linux の「特権」ポート (1024 未満のポート) にバインドできるようにする簡単な変数はありますか?

編集:場合によっては、機能を使用してこれを行うことができます。

0 投票する
3 に答える
6097 参照

python - gethostbyaddr(gethostname()) が IPv6 IP を返すのはなぜですか?

私はPythonで単純なサーバーアプリケーションの作成に取り組んでおり、リッスンソケットをバインドするIPを取得しようとしています。私が見た例では、これを使用しています:

この後、もう少し処理を加えると、ホスト IP だけが文字列として返されます。これにより、IPv4 アドレスが返されます。しかし、このコードを実行すると、IPv6 アドレスが返されます。なぜこれを行うのですか?どうすれば IPv4 アドレスを取得できますか?

関連する場合、私はWindows VistaとPython 2.5を使用しています