Pull to refresh

Как

Level of difficultyMedium
Reading time1 min
Views2.1K

Если в компаничить доступ только адресами провайдеров через которых сотрудники подключаются.

Эта задача разбивается на две. Во первых, нужен список всех провайдеров. Во вторых, нужны все IP префиксы этих провайдеров.

Выполнен

Для каждого провайдера определите IP‑префиксы, используемые для подключения.

  • ж

и результат выглядит так

IP A Corporation

ледующая программа коннектится к API https://api.bgpview.io/asn/{asn}/prefixes и возвращает список префиксов

import requests , csv

def get_prefixes_by_asn(asn):
    url = f"https://api.bgpview.io/asn/{asn}/prefixes"
    res

и результат

AS Number,IPv4 Prefix
19281,9.9.9.0/24
19281,149.112.112.0/24
19281,149.112.149.0/24
19281,199.249.255.0/24

следующая программа создает оъект для Cisco ASA который можно использовать в аксес-листе

import csv

def generate_asa_config(csv_file):
    as_groups = {}

    # Read the CSV file and group prefixes by AS number
    with open(csv_file, 'r') as file:
        reader = csv.DictReader(file)
        for row in reader:
            as_number = row['AS Number']
            prefix = row['IPv4 Prefix']

            if as_number not in as_groups:
                as_groups[as_number] = []
    

# If you want to save it to a file:
with open('asa_config.txt', 'w') as f:
    f.write(asa_config)

Cisco ASA объект

object-group network obj_19281
  network-object 9.9.9.0/24
  network-object 149.112.112.0/24
  network-object 149.112.149.0/24
  network-object 199.249.255.0/24
!
Tags:
Hubs:
Total votes 1: ↑0 and ↓1-1
Comments3

Articles