IPアドレスとサブネットマスクを入力すると、 以下3種類のアドレスを計算し、導出過程と共に結果を示します。
- ネットワークアドレス
- ブロードキャストアドレス
- ホストアドレス
- 以下のようなexample.pyをip_address_calculator.pyと同じディレクトリ内に用意します。
import ip_address_calculator as ipac calculator = ipac.IpAddressCalculator() # ネットワークアドレスの導出 calculator.get_network_address() # ブロードキャストアドレスの導出 calculator.get_broadcast_address() # ホストアドレスの導出 calculator.get_host_address()
- 以下のようにexample.pyを実行します。
python example.py
- example.pyを実行すると以下のような出力が得られ、導出過程と結果が分かります。
============================================================= [IPアドレス(10進数)とサブネットマスク(10進数)の入力] IPアドレス(10進数)を入力してください: 10.168.200.1 入力されたIPアドレスは 10.168.200.1 です。 このIPアドレスでよろしいですか? (Y/N): y サブネットマスク(10進数)を入力してください: 255.255.0.0 入力されたサブネットマスクは 255.255.0.0 です。 このサブネットマスクでよろしいですか? (Y/N): y ============================================================= [ネットワークアドレスの導出] IPアドレス10.168.200.1、サブネットマスク255.255.0.0に対して、 ネットワークアドレスを求めると、以下のようになります。 00001010.10101000.11001000.00000001 = 10.168.200.1 AND) 11111111.11111111.00000000.00000000 = 255.255.0.0 ---------------------------------------------------- 00001010.10101000.00000000.00000000 = 10.168.0.0/16 ============================================================= [ブロードキャストアドレスの導出] IPアドレス10.168.200.1、サブネットマスク255.255.0.0に対して、 ブロードキャストアドレスを求めると、以下のようになります。 00001010.10101000.11001000.00000001 = 10.168.200.1 OR) 00000000.00000000.11111111.11111111 = 0.0.255.255 = サブネットマスクの補数 ---------------------------------------------------- 00001010.10101000.11111111.11111111 = 10.168.255.255 ============================================================= [ホストアドレスの導出] IPアドレス10.168.200.1、サブネットマスク255.255.0.0に対して、 ホストアドレスを求めると、以下のようになります。 00001010.10101000.11001000.00000001 = 10.168.200.1 AND) 00000000.00000000.11111111.11111111 = 0.0.255.255 = サブネットマスクの補数 ---------------------------------------------------- 00000000.00000000.11001000.00000001 = 0.0.200.1