ipv4 subnet calculator php
v4.0.0
サブネットマスクおよびその他のクラスレス(CIDR)ネットワーク情報のネットワーク計算機。
IPアドレスとCIDRネットワークサイズが与えられた場合、ネットワーク情報を計算し、オールインワンの集計レポートを提供します。
点線のクワッド、16進数、バイナリ形式、およびクワッドの配列の各データを提供します。
プロジェクトのcomposer.json
ファイルにライブラリを追加します。
{
"require" : {
"markrogoyski/ipv4-subnet-calculator" : "4.*"
}
}
作曲家を使用してライブラリをインストールします。
$ php composer.phar install
Composerは、ベンダーフォルダー内にIPv4サブネット計算機をインストールします。次に、.phpファイルに以下を使用して、自動装置を使用して使用するライブラリに追加できます。
require_once ( __DIR__ . ' /vendor/autoload.php ' );
または、コマンドラインのComposerを使用して、IPv4サブネットカルシュレーターを要求およびインストールします。
$ php composer.phar require markrogoyski/ipv4-subnet-calculator:4.*
注:PHP 5.5から7.1の場合、v3.0を使用します( markrogoyski/ipv4-subnet-calculator:3.*
)
// For network 192.168.112.203/23
$ sub = new IPv4 SubnetCalculator ( ' 192.168.112.203 ' , 23 );
$ numbeIpAddresses = $ sub -> getNumberIPAddresses (); // 512
$ numberHosts = $ sub -> getNumberAddressableHosts (); // 510
$ addressRange = $ sub -> getIPAddressRange (); // [192.168.112.0, 192.168.113.255]
$ addressableHostRange = $ sub -> getAddressableHostRange (); // [192.168.112.1, 192.168.113.254]
$ networkSize = $ sub -> getNetworkSize (); // 23
$ broadcastAddress = $ sub -> getBroadcastAddress (); // 192.168.113.255
$ ipAddress = $ sub -> getIPAddress (); // 192.168.112.203
$ ipAddressQuads = $ sub -> getIPAddressQuads (); // [192, 168, 112, 203]
$ ipAddressHex = $ sub -> getIPAddressHex (); // C0A870CB
$ ipAddressBinary = $ sub -> getIPAddressBinary (); // 11000000101010000111000011001011
$ ipAddressInteger = $ sub -> getIPAddressInteger (); // 3232264395;
$ subnetMask = $ sub -> getSubnetMask (); // 255.255.254.0
$ subnetMaskQuads = $ sub -> getSubnetMaskQuads (); // [255, 255, 254, 0]
$ subnetMaskHex = $ sub -> getSubnetMaskHex (); // FFFFFE00
$ subnetMaskBinary = $ sub -> getSubnetMaskBinary (); // 11111111111111111111111000000000
$ subnetMaskInteger = $ sub -> getSubnetMaskInteger (); // 4294966784
$ network = $ sub -> getNetworkPortion (); // 192.168.112.0
$ networkQuads = $ sub -> getNetworkPortionQuads (); // [192, 168, 112, 0]
$ networkHex = $ sub -> getNetworkPortionHex (); // C0A87000
$ networkBinary = $ sub -> getNetworkPortionBinary (); // 11000000101010000111000000000000
$ networkInteger = $ sub -> getNetworkPortionInteger (); // 3232264192
$ host = $ sub -> getHostPortion (); // 0.0.0.203
$ hostQuads = $ sub -> getHostPortionQuads (); // [0, 0, 0, 203]
$ hostHex = $ sub -> getHostPortionHex (); // 000000CB
$ hostBinary = $ sub -> getHostPortionBinary (); // 00000000000000000000000011001011
$ hostInteger = $ sub -> getHostPortionInteger (); // 203
$ minHost = $ sub -> getMinHost (); // 192.168.112.1
$ minHostQuads = $ sub -> getMinHostQuads (); // [192, 168, 112, 1]
$ minHostHex = $ sub -> getMinHostHex (); // C0A87001
$ minHostBinary = $ sub -> getMinHostBinary (); // 11000000101010000111000000000001
$ minHostInteger = $ sub -> getMinHostInteger (); // 3232264193
$ maxHost = $ sub -> getMaxHost (); // 192.168.113.254
$ maxHostQuads = $ sub -> getMaxHostQuads (); // [192, 168, 113, 254]
$ maxHostHex = $ sub -> getMaxHostHex (); // C0A871FE
$ maxHostBinary = $ sub -> getMaxHostBinary (); // 11000000101010000111000111111110
$ maxHostInteger = $ sub -> getMaxHostInteger (); // 3232264702
foreach ( $ sub -> getAllIPAddresses () as $ ipAddress ) {
echo $ ipAddress ;
}
foreach ( $ sub -> getAllHostIPAddresses () as $ hostAddress ) {
echo $ hostAddress ;
}
$ boolTrue = $ sub -> isIPAddressInSubnet ( ' 192.168.112.5 ' );
$ boolFalse = $ sub -> isIPAddressInSubnet ( ' 192.168.111.5 ' );
$ ipv4ArpaDomain = $ sub -> getIPv4ArpaDomain (); // 203.112.168.192.in-addr.arpa
$ sub -> printSubnetReport ();
/*
192.168.112.203/23 Quads Hex Binary Integer
------------------ --------------- -------- -------------------------------- ----------
IP Address: 192.168.112.203 C0A870CB 11000000101010000111000011001011 3232264395
Subnet Mask: 255.255.254.0 FFFFFE00 11111111111111111111111000000000 4294966784
Network Portion: 192.168.112.0 C0A87000 11000000101010000111000000000000 3232264192
Host Portion: 0.0.0.203 000000CB 00000000000000000000000011001011 203
Number of IP Addresses: 512
Number of Addressable Hosts: 510
IP Address Range: 192.168.112.0 - 192.168.113.255
Broadcast Address: 192.168.113.255
Min Host: 192.168.112.1
Max Host: 192.168.113.254
IPv4 ARPA Domain: 203.112.168.192.in-addr.arpa
*/
$ sub -> getSubnetArrayReport ();
/*
(
[ip_address_with_network_size] => 192.168.112.203/23
[ip_address] => Array
(
[quads] => 192.168.112.203
[hex] => C0A870CB
[binary] => 11000000101010000111000011001011
[integer] => 3232264395
)
[subnet_mask] => Array
(
[quads] => 255.255.254.0
[hex] => FFFFFE00
[binary] => 11111111111111111111111000000000
[integer] => 4294966784
)
[network_portion] => Array
(
[quads] => 192.168.112.0
[hex] => C0A87000
[binary] => 11000000101010000111000000000000
[integer] => 3232264192
)
[host_portion] => Array
(
[quads] => 0.0.0.203
[hex] => 000000CB
[binary] => 00000000000000000000000011001011
[integer] => 203
)
[network_size] => 23
[number_of_ip_addresses] => 512
[number_of_addressable_hosts] => 510
[ip_address_range] => Array
(
[0] => 192.168.112.0
[1] => 192.168.113.255
)
[broadcast_address] => 192.168.113.255
[min_host] => 192.168.112.1
[max_host] => 192.168.113.254
[ipv4_arpa_domain] => 203.112.168.192.in-addr.arpa
)
*/
$ sub -> getSubnetJSONReport ();
/*
{
"ip_address_with_network_size": "192.168.112.203/23",
"ip_address": {
"quads": "192.168.112.203",
"hex": "C0A870CB",
"binary": "11000000101010000111000011001011",
"integer": 3232264395
},
"subnet_mask": {
"quads": "255.255.254.0",
"hex": "FFFFFE00",
"binary": "11111111111111111111111000000000",
"integer": 4294966784
},
"network_portion": {
"quads": "192.168.112.0",
"hex": "C0A87000",
"binary": "11000000101010000111000000000000",
"integer": 3232264192
},
"host_portion": {
"quads": "0.0.0.203",
"hex": "000000CB",
"binary": "00000000000000000000000011001011",
"integer": 203
},
"network_size": 23,
"number_of_ip_addresses": 512,
"number_of_addressable_hosts": 510,
"ip_address_range": [
"192.168.112.0",
"192.168.113.255"
],
"broadcast_address": "192.168.113.255",
"min_host": "192.168.112.1",
"max_host": "192.168.113.254",
"ipv4_arpa_domain": "203.112.168.192.in-addr.arpa"
}
*/
$ stringReport = $ sub -> getPrintableReport ();
/*
192.168.112.203/23 Quads Hex Binary Integer
------------------ --------------- -------- -------------------------------- ----------
IP Address: 192.168.112.203 C0A870CB 11000000101010000111000011001011 3232264395
Subnet Mask: 255.255.254.0 FFFFFE00 11111111111111111111111000000000 4294966784
Network Portion: 192.168.112.0 C0A87000 11000000101010000111000000000000 3232264192
Host Portion: 0.0.0.203 000000CB 00000000000000000000000011001011 203
Number of IP Addresses: 512
Number of Addressable Hosts: 510
IP Address Range: 192.168.112.0 - 192.168.113.255
Broadcast Address: 192.168.113.255
Min Host: 192.168.112.1
Max Host: 192.168.113.254
IPv4 ARPA Domain: 203.112.168.192.in-addr.arpa
*/
print( $ sub );
/*
192.168.112.203/23 Quads Hex Binary Integer
------------------ --------------- -------- -------------------------------- ----------
IP Address: 192.168.112.203 C0A870CB 11000000101010000111000011001011 3232264395
Subnet Mask: 255.255.254.0 FFFFFE00 11111111111111111111111000000000 4294966784
Network Portion: 192.168.112.0 C0A87000 11000000101010000111000000000000 3232264192
Host Portion: 0.0.0.203 000000CB 00000000000000000000000011001011 203
Number of IP Addresses: 512
Number of Addressable Hosts: 510
IP Address Range: 192.168.112.0 - 192.168.113.255
Broadcast Address: 192.168.113.255
Min Host: 192.168.112.1
Max Host: 192.168.113.254
IPv4 ARPA Domain: 203.112.168.192.in-addr.arpa
*/
$ json = json_encode ( $ sub );
$ cd tests
$ phpunit
IPv4サブネット計算機(PHP)は、次の標準に準拠しています。
IPv4サブネット計算機(PHP)は、MITライセンスに基づいてライセンスされています。