diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 126c4e5..fa4e754 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,7 +4,7 @@
-
+
@@ -68,6 +68,9 @@
+
+
+
@@ -100,6 +103,7 @@
+
1662545492088
@@ -137,7 +141,18 @@
+
+
+
+
+ file://$PROJECT_DIR$/main.py
+ 37
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/main.py b/main.py
index 97544fe..070dc0d 100644
--- a/main.py
+++ b/main.py
@@ -2,25 +2,37 @@ import ipaddress
def main(ip):
- list_ip = ip.split('/') # Разделяет вводимый ip на часть с маской, и без
- ipv4 = ipaddress.ip_address(list_ip[0])
- print('Ваш ip адрес:', ip) # Выводит например "Ваш ip адрес: 192.168.10.128/24"
+ list_ip = ip.split('/') # Разделяет вводимый ip на часть с маской, и без
+ print('Ваш ip адрес:', ip) # Выводит например "Ваш ip адрес: 192.168.10.128/24"
- net = ipaddress.ip_network(ip, strict=False) # В функцию кладётся сетевая часть ip, без хостовой части
- print('Маска:', net.netmask, '=', list_ip[1], '\n') # Выводит маску
- print('Network:', net) # Выводит сеть
- print('Broadcast:', net.broadcast_address) # Выводит broad
+ net = ipaddress.ip_network(ip, strict=False) # В функцию кладётся сетевая часть ip, без хостовой части
+ print('Маска:', net.netmask, '=', list_ip[1], '\n') # Выводит маску
+ print('Network:', net) # Выводит сеть
+ print('Broadcast:', net.broadcast_address) # Выводит broad
print('HostMin:', net[1])
print('HostMax:', net[-2])
- print('Hosts:', len(list(net.hosts()))) # Выводит кол-во хостовых ip
+ print('Hosts:', len(list(net.hosts()))) # Выводит кол-во хостовых ip
count = 0
for n_ip in net.hosts():
count += 1
if str(n_ip) == list_ip[0]:
- print('№ в сети:', count) # Выводит какой ip по счёту в сети
+ print('№ в сети:', count) # Выводит какой ip по счёту в сети
break
+def subnets(ip, prefix):
+ subnet = ipaddress.ip_network(ip, strict=False)
+ list_subnet = list(subnet.subnets(new_prefix=int(prefix)))
+ subnet1 = ipaddress.ip_network(str(list_subnet[1]), strict=False)
+
+ print('\nМаска:', subnet1.netmask, '=', prefix)
+
+ #for i in
+
+
if __name__ == '__main__':
- addr = input('Введите ip: ') # Пользователь вводит ip
+ addr = input('Введите ip: ') # Пользователь вводит ip
main(addr)
+ # Тут должна быть кнопка типа "Подсети"
+ new_prefix = input('\nВведите префикс: ')
+ subnets(addr, new_prefix)
\ No newline at end of file