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アドレスとサブネットマスクからネットワークアドレスとブロードキャストアドレスを調べる
