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

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

java - Java を使用して CIDR 表記またはアドレス ネットマスク ペアから IP 範囲を取得する方法

例:
CIDR 表記 10.66.114.0/24 の下位から上位の IP アドレスを取得する方法
この場合、答えは:
10.66.114.1 - 10.66.114.254 です。

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

java - JavaでコモンズSubnetUtils.SubnetInfo.getNetmask()を使用してネットマスクを反転する

私がこれを持っているとしましょう:

マスクを反転させる簡単な方法はありますか(Cisco ACLスタイル)?

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

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 これに関連するバグレポートは次のとおりです。

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

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]

入力/出力の例:

  1. 通常の検索

入力: 0x0D010101 出力: 4 (エントリ [3])

入力: 0x0B100505 出力: 3 (エントリ [4])

  1. 任意のアドレスを見つけるには、デフォルト インターフェイスに移動する必要があります。

入力: 0x0F0F0F0F 出力: 1 (エントリ [0])

  1. 複数のエントリに一致するアドレスを見つけるには、最も一致するものを取得します。

入力: 0x0A010200 出力: 10 (エントリ [2])

入力: 0x0A050001 出力: 2 (エントリ [1])

入力: 0x0A010101 出力: 5 (エントリ [5])

しかし、私の出力は 2, 3, 1, 10, 1, 5 のように見えます。私がどこで間違っているのか説明していただけますか?どんな助けでも素晴らしいでしょう。前もって感謝します。ただし、これは私のアルゴリズムがどのように見えるかです (エントリがソートされていると仮定します):

{ int 開始 = 0;

}

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

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 ipcalcUbuntu、またはcd /usr/ports/net-mgmt/ipcalc/ && make install cleanFreeBSDで使用して実行できます:)

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

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 のみにパケットを送信する方法はありますか?

前もって感謝します

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

java - ビット表現で ip を持つ次の IP アドレスを計算するにはどうすればよいですか?

DHCP情報からIPアドレスを取得します。IP がビット表現の場合に、次の IP アドレスを計算する方法。

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

vbscript - VBScriptを使用したIPアドレス/ネットマスクからのIP範囲計算機

この質問をするのは嫌いですが、スクリプト作成は非常に新しく、助けが必要です。

入力を受け入れ、受け入れ可能なIPアドレスの範囲を提供するVBSを使用して計算機を作成したいと思います。

例えば:

VBSはユーザー入力を要求しますユーザーはIPアドレス/ネットマスクを入力します:214.13.104.128/28

出力: IP Address Range = 214.13.104.129 - 214.13.104.190

使用できるオンラインツールはたくさんあることは知っていますが、インターネットにアクセスできないシステムではこれを使用する必要があります。

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

bash - ifconfig 出力からネットマスクを抽出し、CIDR 形式で出力する

2 セットの IP のネットマスクを抽出し、それを CIDR 形式で画面に出力する必要があります。これを行うためにシェルまたは tcl のいずれかを使用することを考えています。ここでの主な注意点は、16 進数のネットマスクを CIDR 形式に変換することだと思います。

いくつかの異なることを試しましたが、期待どおりに機能していないようです。

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

shell - Solaris シェルでサブネットを計算する

Solaris マシン シェル (bash ですが、その他の可能性もあります) で IP アドレスとネット マスクを使用して、サブネットを計算する必要があります。

いくつかの例:

これを計算するには、次の 2 つの方法があります。

でも、どちらも少し「汚い」と思います。私のプロジェクトの他の人が理解しやすい、サブネットを計算するための「よりクリーンな」方法が欲しいです。

私はperlpythonを使用したくないのですが、検討することはできます。