1

ユーザーに送信元 IP アドレス、宛先 IP アドレス、および 32 ビットのサブネット マスクを問い合わせるプログラムを作成します。すべてドット 10 進表記で入力します。次に、プログラムは src と dst が同じサブネット上にあるかどうかを判断します。次に、マスクと 2 つのアドレスをバイナリ形式で (別々の行に、互いに垂直方向に並べて) 出力し、ホストが誰に対して ARP を送信するかを示します。

これは私がこれまでに持っているものです:

#!/usr/bin/python3

src_ip = input("Please enter the Source IP Address: ")

dst_ip = input("Please enter the Destination IP Address: ")

sub_mask = input("Please enter the Subnet Mask: ")

#convert each to binary
base2_src = [format(int(x), '08b') for x in src_ip.split('.')]
base2_dst = [format(int(x), '08b') for x in dst_ip.split('.')]
base2_mask = [format(int(x), '08b') for x in sub_mask.split('.')]

#print out IP addresses in binary
print("Source IP: ", base2_src)
print("Destination IP: ", base2_dst)
print("Subnet Mask :", base2_mask)

これまでのところ、入力を取得してバイナリに変換し、リストに出力することができます。入力した送信元と送信先が、ユーザーが入力したサブネットと同じサブネット上にあるかどうかを確認するにはどうすればよいですか? バイナリに変換されたサブネット マスクを何と比較すればよいですか?

4

1 に答える 1