Сохранять сеть при создании диапазона IP-адресов (R IP Tools) - PullRequest
0 голосов
/ 21 сентября 2018

Заранее извиняюсь, если на это есть очевидный ответ;У меня есть вектор сетей IPv4 в нотации CIDR (например, 192.168.100.14/24), и я хочу сгенерировать IP-адреса, которые есть в каждой сети, но также сохранить информацию о сети в R Studio.

Используя пакет IP Tools, я могу генерировать IP-адреса, которые есть в каждой сети, но я не знаю, как перенести сеть с нотацией CIDR в набор данных.

В настоящее время яЯ просто делаю это:

iprange <- vector()
for (i in 1:nrow(CIDR_data))
{ 
  iprange <- c(iprange,range_generate(CIDR_data$Network[i]))
}

Я пытался сделать несколько вещей, в основном используя функцию ip_in_range в том же пакете и функцию соответствия в базовом пакете, чтобы попытаться «найти»сеть для каждого IP после генерации IP, но мне не повезло.

Заранее спасибо за любую помощь!

1 Ответ

0 голосов
/ 24 сентября 2018

На случай, если кто-то еще сочтет это полезным, я сделал это в Python 3.6 с помощью модуля ipaddress (входит в базовый пакет):

inactive_ips = []
inactive_networks = []

for i in networks:
    inactive_ips.append(list(ipaddress.ip_network(i).hosts()))
    ## this won't include the host & broadcast IPs!
    inactive_networks.append(str(i))

both = zip(inactive_ips, inactive_networks)
both_values = tuple(both)
...