問題タブ [netmask]
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 - Java を使用して CIDR 表記またはアドレス ネットマスク ペアから IP 範囲を取得する方法
例:
CIDR 表記 10.66.114.0/24 の下位から上位の IP アドレスを取得する方法
この場合、答えは:
10.66.114.1 - 10.66.114.254 です。
java - JavaでコモンズSubnetUtils.SubnetInfo.getNetmask()を使用してネットマスクを反転する
私がこれを持っているとしましょう:
マスクを反転させる簡単な方法はありますか(Cisco ACLスタイル)?
java - Java と Windows 7: IPv4 ネットマスクを確実に取得できますか?
Windows 上の Java 6 で既知のバグに遭遇しました。私の理解では、ネットマスクを取得する通常の方法は、ネットワーク プレフィックスの長さを調べて、いくつかのビット シフトを行うことです。問題は、Windows ではプレフィックス長が正しく返されないことが多いため、24 または 20 を取得する必要があるときに 128 を取得することです。
このソリューションでは-Djava.net.preferIPv4Stack=true
、Java コマンド ラインを使用することをお勧めします。残念ながら、Windows 7 では、それを VM パラメータとして、または Java コマンド ラインに追加しても効果がないようです。
(a) Windows 7 でも動作する可能性がある、この問題に対するその他の回避策を知っている人はいますか?
(b) あるいは、信頼できるネットマスクを取得するまったく別の方法はありますか?
ありがとう!
PS これに関連するバグレポートは次のとおりです。
interface - 一連のルーティング エントリから最適なインターフェイスを返すのに問題がある
そのため、ルーティング エントリから可能な限り一致するインターフェイスを返そうとしています。しかし、それは私が望むように正確に機能しているわけではありません。6 つの値のうち 5 つが本来あるべき方法で返されましたが、アルゴリズムが機能しないルーティング テーブルに 100 万のエントリがあると確信しています。この問題を解決するために二分探索を使用しています。しかし、たとえば、返したいインターフェイスの ipaddress が、引数として渡している ipaddress よりも小さい場合、二分探索アルゴリズムは機能しません。構造は次のようになります。
ルーティング テーブルが次のようになっているとします。
{ 0x00000000, 0x00000000, 1 }, // [0]
{ 0x0A000000, 0xFF000000, 2 }, // [1]
{ 0x0A010000, 0xFFFF0000, 10 }, // [2]
{ 0x0D010100, 0xFFFFFF00, 4 }, // [3]
{ 0x0B100000, 0xFFFF0000, 3 }, // [4]
{ 0x0A010101, 0xFFFFFFFF, 5 }, // [5]
入力/出力の例:
- 通常の検索
入力: 0x0D010101 出力: 4 (エントリ [3])
入力: 0x0B100505 出力: 3 (エントリ [4])
- 任意のアドレスを見つけるには、デフォルト インターフェイスに移動する必要があります。
入力: 0x0F0F0F0F 出力: 1 (エントリ [0])
- 複数のエントリに一致するアドレスを見つけるには、最も一致するものを取得します。
入力: 0x0A010200 出力: 10 (エントリ [2])
入力: 0x0A050001 出力: 2 (エントリ [1])
入力: 0x0A010101 出力: 5 (エントリ [5])
しかし、私の出力は 2, 3, 1, 10, 1, 5 のように見えます。私がどこで間違っているのか説明していただけますか?どんな助けでも素晴らしいでしょう。前もって感謝します。ただし、これは私のアルゴリズムがどのように見えるかです (エントリがソートされていると仮定します):
{ int 開始 = 0;
}
php - ネットマスク php の変換
ネットマスクを特定のネットマスクに変換するにはどうすればよいですか?
例: 127.0.0.0/16 /24 ネットマスクに変換します。
次のような出力が必要です。
など、127.0.255.0/24 までずっと。
これを PHP でどのように実現できますか? このツールを見つけました: http://jodies.de/ipcalc Perlでコーディングされています。PHPを使用して同様の機能を得るにはどうすればよいですか?
私はこれを見つけました:http://jasonkolpin.com/classes/ipcalc/demo.php壊れているようですが..おそらくそれを修正しようとします。
解決済みの更新:私は基本的に run:を実行$exec = shell_exec("/usr/local/bin/ipcalc 127.0.0.0/16 24 -b -n");
し、Network: フィールドを解析します。これは基本的に 127.0.0.0/16 をすべての /24 に変換します。
これを行うには、ホストに ipcalc がインストールされていることを確認してください。yum install ipcalc
これは、CentOS、apt-get install ipcalc
Ubuntu、またはcd /usr/ports/net-mgmt/ipcalc/ && make install clean
FreeBSDで使用して実行できます:)
sockets - ソケット プログラミング - ネット マスク クラス B でブロードキャスト
クラス B のネットマスクを使用している場合、ブロードキャスト データに問題があります。たとえば、次の構成を持つ 3 台の PC があります。
PC1: IP アドレス: 192.168.1.10 ネットマスク: 255.255.0.0
PC2: IP アドレス: 192.168.1.11 ネットマスク: 255.255.0.0
PC3: IP アドレス: 192.168.2.5 ネットマスク: 255.255.0.0
PC1 から範囲 1 の PC (この例では PC2) のみにブロードキャスト パケットを送信したいと考えています。しかし、PC2 と PC3 に一緒にパケットを送信するブロードキャスト アドレスとして 192.168.255.255 を使用する必要があることがわかりました。192.168.1.255 のようなものを使用して、パケットを PC2 のみに送信することはできません。範囲 1 のみにパケットを送信する方法はありますか?
前もって感謝します
java - ビット表現で ip を持つ次の IP アドレスを計算するにはどうすればよいですか?
DHCP情報からIPアドレスを取得します。IP がビット表現の場合に、次の IP アドレスを計算する方法。
vbscript - VBScriptを使用したIPアドレス/ネットマスクからのIP範囲計算機
この質問をするのは嫌いですが、スクリプト作成は非常に新しく、助けが必要です。
入力を受け入れ、受け入れ可能なIPアドレスの範囲を提供するVBSを使用して計算機を作成したいと思います。
例えば:
VBSはユーザー入力を要求しますユーザーはIPアドレス/ネットマスクを入力します:214.13.104.128/28
出力: IP Address Range = 214.13.104.129 - 214.13.104.190
使用できるオンラインツールはたくさんあることは知っていますが、インターネットにアクセスできないシステムではこれを使用する必要があります。
bash - ifconfig 出力からネットマスクを抽出し、CIDR 形式で出力する
2 セットの IP のネットマスクを抽出し、それを CIDR 形式で画面に出力する必要があります。これを行うためにシェルまたは tcl のいずれかを使用することを考えています。ここでの主な注意点は、16 進数のネットマスクを CIDR 形式に変換することだと思います。
いくつかの異なることを試しましたが、期待どおりに機能していないようです。
shell - Solaris シェルでサブネットを計算する
Solaris マシン シェル (bash ですが、その他の可能性もあります) で IP アドレスとネット マスクを使用して、サブネットを計算する必要があります。
いくつかの例:
これを計算するには、次の 2 つの方法があります。
と
でも、どちらも少し「汚い」と思います。私のプロジェクトの他の人が理解しやすい、サブネットを計算するための「よりクリーンな」方法が欲しいです。
私はperlやpythonを使用したくないのですが、検討することはできます。