IPアドレスとネットマスクからネットワークアドレスとブロードキャストアドレスを調べる
土日はどこのサイトも更新が少なくてお昼が寂しいフジカワです。やっぱり皆さん休みたいですよね。僕もです。
紙資料が見つからない
サーバをちょっといじってるのだけど、設定項目で「ネットワークアドレス」と「ブロードキャストアドレス」が必要になる。どこかに資料はあると思うのだけど探すのがメンドクサイ。googleで便利なコマンドを探しに出かけたところ、コマンドではないけれど簡単な方法を見つけたのでご紹介。
php使いますよー
ftpか何かでphpファイルをアップロードする必要がありますので、環境がある方のみになってしまいますが、それができれば簡単です。
っていうか、ファイルをアップしたので、こちらからも調べられます。
ネットワークアドレスとブロードキャストアドレスを調べよう
装飾は一切無しです。文字化けしてたらすいません。(それでもなんとなくわかると思いますが)
アップするファイルは2点
index.php
<title>ネットワークアドレスとブロードキャストアドレスを調べよう</title> <form action="view_address_info.php" method="post"> IP Address: <input type="text" name="ip[]">. <input type="text" name="ip[]">. <input type="text" name="ip[]">. <input type="text" name="ip[]">/ <input type="text" name="mask"> <input type="submit" value="表示"> </form>
view_address_info.php
<title>ネットワークアドレスとブロードキャストアドレスを調べよう</title> <?php $ip = $_POST['ip']; $netMask = array(); $maskWork = 0; for($i = 1; $i <= 32; $i++) { $maskWork = $maskWork << 1; if ($i <= $_POST['mask']) { $maskWork += 1; } else { $maskWork += 0; } if ($i % 8 == 0) { $netMask[] = $maskWork; $maskWork = 0; } } $networkAddress = array(); foreach ($ip as $i => $octet) { $networkAddress[] = $octet & $netMask[$i]; } $broadcastAddress = array(); foreach ($networkAddress as $i => $octet) { $broadcastAddress[] = $octet | (~$netMask[$i] & 255); } print('ネットワークアドレス:'); foreach ($networkAddress as $i => $address) { if ($i > 0) { print('.'); } print($address); } print_r('<br />'); print('ブロードキャストアドレス:'); foreach ($broadcastAddress as $i => $address) { if ($i > 0) { print('.'); } print($address); } print_r('<br />');
meta要素等、必要な情報は各自入れてください。ほんと適当ですいません(笑)。
参考サイト
codeなにがし::IPアドレスとサブネットマスクからネットワークアドレスとブロードキャストアドレスを調べる