Start Neue Main
This commit is contained in:
2
Dev/n8n/Docker_run_ID.md
Normal file
2
Dev/n8n/Docker_run_ID.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# Docker run ID
|
||||
getent group docker | cut -d: -f3
|
||||
17
Dev/n8n/Dockerfile
Normal file
17
Dev/n8n/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
||||
# Use the official n8n image as a base
|
||||
FROM n8nio/n8n:latest
|
||||
|
||||
# Switch to the root user to install packages
|
||||
USER root
|
||||
|
||||
# Install docker-cli using the apk package manager
|
||||
RUN apk add --no-cache docker-cli
|
||||
|
||||
# Install Python, pip, and required build dependencies
|
||||
RUN apk add --no-cache python3 py3-pip build-base
|
||||
|
||||
# Install required Python packages
|
||||
RUN pip install netmiko --break-system-packages
|
||||
|
||||
# Switch back to the non-privileged node user
|
||||
USER node
|
||||
82
Dev/n8n/differences.py
Normal file
82
Dev/n8n/differences.py
Normal file
@@ -0,0 +1,82 @@
|
||||
import json
|
||||
|
||||
# A bejövő adatok az n8n-től. A $items() függvénnyel hivatkozunk
|
||||
# a korábbi node-okra a nevük alapján.
|
||||
# Cseréld le a 'MySQL_Node_Neve' és 'Élő_Adat_Node_Neve' neveket
|
||||
# a te munkafolyamatodban lévő node-ok tényleges nevére!
|
||||
# Például:
|
||||
# db_clients_items = $items("MySQL Client Fetch")
|
||||
# live_clients_items = $items("Code (IP Scan Script)")
|
||||
|
||||
# Fontos: Ha az n8n Code node-jában futtatod, a $items funkciót közvetlenül használhatod.
|
||||
# Ha külső szkriptként futtatod az "Execute Command" node-ból, akkor a bemenetet
|
||||
# másképp kell kezelni (pl. parancssori argumentumként JSON stringet).
|
||||
# Ez a kód az n8n Code node Python módjához készült.
|
||||
|
||||
db_clients_items = $items("MySQL_Node_Neve") # Ezt cseréld a MySQL node-od nevére
|
||||
live_clients_items = $items("Élő_Adat_Node_Neve") # Ezt cseréld az élő adatokat adó Code node-od nevére
|
||||
|
||||
|
||||
# Hozzuk létre a MAC cím alapján kereshető adathalmazokat
|
||||
# Ellenőrizzük, hogy a bemeneti lista nem üres-e
|
||||
db_clients = {}
|
||||
if db_clients_items:
|
||||
db_clients = {item.json['mac_address']: item.json for item in db_clients_items}
|
||||
|
||||
live_clients = {}
|
||||
if live_clients_items:
|
||||
live_clients = {item.json['mac_address']: item.json for item in live_clients_items}
|
||||
|
||||
|
||||
differences = []
|
||||
|
||||
# 1. Új kliensek keresése (amik az élő adatokban vannak, de a DB-ben nem)
|
||||
for mac, client_data in live_clients.items():
|
||||
if mac not in db_clients:
|
||||
differences.append({
|
||||
"change_type": "ÚJ KLIENS",
|
||||
"client": client_data
|
||||
})
|
||||
|
||||
# 2. Eltávolított kliensek keresése (amik a DB-ben vannak, de az élő adatokban már nem)
|
||||
for mac, client_data in db_clients.items():
|
||||
if mac not in live_clients:
|
||||
differences.append({
|
||||
"change_type": "ELTÁVOLÍTOTT KLIENS",
|
||||
"client": client_data
|
||||
})
|
||||
|
||||
# 3. Változások keresése (pl. megváltozott az IP címe)
|
||||
# Ez egy egyszerűbb példa, ami csak az IP-t figyeli.
|
||||
# Ha több mezőt is figyelni akarsz, bővítsd ezt a részt.
|
||||
for mac, live_data in live_clients.items():
|
||||
if mac in db_clients:
|
||||
db_data = db_clients[mac]
|
||||
# Összehasonlítjuk az IP címet és a switch nevét
|
||||
if live_data.get('ip_address') != db_data.get('ip_address') or \
|
||||
live_data.get('switch_name') != db_data.get('switch_name') or \
|
||||
live_data.get('interface') != db_data.get('interface') or \
|
||||
live_data.get('vlan') != db_data.get('vlan'):
|
||||
|
||||
# Gyűjtsük össze a változásokat
|
||||
changes = {}
|
||||
if live_data.get('ip_address') != db_data.get('ip_address'):
|
||||
changes['ip_address'] = {'from': db_data.get('ip_address'), 'to': live_data.get('ip_address')}
|
||||
if live_data.get('switch_name') != db_data.get('switch_name'):
|
||||
changes['switch_name'] = {'from': db_data.get('switch_name'), 'to': live_data.get('switch_name')}
|
||||
if live_data.get('interface') != db_data.get('interface'):
|
||||
changes['interface'] = {'from': db_data.get('interface'), 'to': live_data.get('interface')}
|
||||
if live_data.get('vlan') != db_data.get('vlan'):
|
||||
changes['vlan'] = {'from': db_data.get('vlan'), 'to': live_data.get('vlan')}
|
||||
|
||||
differences.append({
|
||||
"change_type": "MEGVÁLTOZOTT KLIENS",
|
||||
"client_mac": mac,
|
||||
"changes": changes,
|
||||
"current_data": live_data
|
||||
})
|
||||
|
||||
# A 'return' paranccsal adjuk vissza a különbségeket.
|
||||
# Ha a 'differences' lista üres, a workflow ezen az ágon megáll (ha nincsenek további node-ok,
|
||||
# amik üres bemenettel is futnak).
|
||||
return differences
|
||||
24
Dev/n8n/docker-compose.yml
Normal file
24
Dev/n8n/docker-compose.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
services:
|
||||
n8n:
|
||||
container_name: n8n
|
||||
build: .
|
||||
user: "node:1001"
|
||||
restart: always
|
||||
ports:
|
||||
- "127.0.0.1:5678:5678"
|
||||
environment:
|
||||
- TZ=Europe/Hamburg
|
||||
volumes:
|
||||
- /mnt/c/Tools/docker/n8n:/home/node/.n8n
|
||||
- /var/run/docker.sock:/var/run/docker.sock:Z
|
||||
- ../../Dev:/home/node/dev
|
||||
networks:
|
||||
- shared-network
|
||||
|
||||
volumes:
|
||||
n8n_data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
shared-network:
|
||||
external: true
|
||||
11
Dev/n8n/example.docker.startfile.md
Normal file
11
Dev/n8n/example.docker.startfile.md
Normal file
@@ -0,0 +1,11 @@
|
||||
docker run -d \
|
||||
--name n8n \
|
||||
--user "node:1001" \
|
||||
--restart always \
|
||||
-p 127.0.0.1:5678:5678 \
|
||||
-e TZ=Europe/Hamburg \
|
||||
-v /mnt/c/docker/n8n:/home/node/.n8n \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--network n8n_n8n_network \
|
||||
--ip 172.20.0.100 \
|
||||
n8n
|
||||
105
Dev/n8n/get_aruba_firmware.py
Normal file
105
Dev/n8n/get_aruba_firmware.py
Normal file
@@ -0,0 +1,105 @@
|
||||
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import csv
|
||||
from datetime import datetime
|
||||
from netmiko import ConnectHandler
|
||||
from netmiko.exceptions import NetmikoTimeoutException, NetmikoAuthenticationException
|
||||
|
||||
def get_aruba_firmware(host, username, password):
|
||||
"""
|
||||
Connects to an Aruba switch, retrieves the hostname and firmware version.
|
||||
Returns a dictionary with the collected data.
|
||||
"""
|
||||
device = {
|
||||
'device_type': 'aruba_aoscx',
|
||||
'host': host,
|
||||
'username': username,
|
||||
'password': password,
|
||||
}
|
||||
|
||||
print(f"Csatlakozás a(z) {host} eszközhöz...")
|
||||
try:
|
||||
with ConnectHandler(**device) as net_connect:
|
||||
print(f"Sikeres csatlakozás a(z) {host} eszközhöz. Firmware verzió lekérdezése...")
|
||||
|
||||
# Hostname lekérdezése a promptból
|
||||
prompt = net_connect.find_prompt()
|
||||
switch_hostname = prompt.strip('#> ')
|
||||
|
||||
# Firmware verzió lekérdezése
|
||||
output = net_connect.send_command('show version')
|
||||
|
||||
firmware_version = "N/A"
|
||||
# Reguláris kifejezés a firmware verzió megtalálásához
|
||||
match = re.search(r"Version\s+:\s+(.*)", output)
|
||||
if match:
|
||||
firmware_version = match.group(1).strip()
|
||||
|
||||
return {
|
||||
'switch_name': switch_hostname,
|
||||
'ip_address': host,
|
||||
'firmware_version': firmware_version
|
||||
}
|
||||
|
||||
except NetmikoTimeoutException:
|
||||
print(f"Hiba: Időtúllépés a(z) {host} eszközhöz való csatlakozáskor.")
|
||||
return {'switch_name': 'N/A', 'ip_address': host, 'firmware_version': 'Timeout'}
|
||||
except NetmikoAuthenticationException:
|
||||
print(f"Hiba: Sikertelen hitelesítés a(z) {host} eszközön.")
|
||||
return {'switch_name': 'N/A', 'ip_address': host, 'firmware_version': 'Auth Failed'}
|
||||
except Exception as e:
|
||||
print(f"Váratlan hiba történt a(z) {host} feldolgozása közben: {e}")
|
||||
return {'switch_name': 'N/A', 'ip_address': host, 'firmware_version': f'Error: {e}'}
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Konfigurációs fájl beolvasása
|
||||
try:
|
||||
with open('config.json', 'r') as f:
|
||||
config = json.load(f)
|
||||
except FileNotFoundError:
|
||||
print("Hiba: A 'config.json' fájl nem található.")
|
||||
exit()
|
||||
except json.JSONDecodeError:
|
||||
print("Hiba: A 'config.json' fájl formátuma érvénytelen.")
|
||||
exit()
|
||||
|
||||
SWITCH_IPS = config.get("switch_ips", [])
|
||||
USERNAME = config.get("username")
|
||||
PASSWORD = config.get("password")
|
||||
|
||||
if not all([SWITCH_IPS, USERNAME, PASSWORD]):
|
||||
print("Hiba: A 'config.json' fájl hiányos. Tartalmaznia kell 'switch_ips', 'username', és 'password' kulcsokat.")
|
||||
exit()
|
||||
|
||||
# Kimeneti mappa
|
||||
OUTPUT_DIR = "results"
|
||||
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
|
||||
CSV_FILENAME = os.path.join(OUTPUT_DIR, f"aruba_firmware_versions_{timestamp}.csv")
|
||||
|
||||
all_switches_firmware = []
|
||||
|
||||
for ip in SWITCH_IPS:
|
||||
print(f"\n--- Feldolgozás: {ip} ---")
|
||||
firmware_data = get_aruba_firmware(ip, USERNAME, PASSWORD)
|
||||
if firmware_data:
|
||||
all_switches_firmware.append(firmware_data)
|
||||
print(f"Sikeresen lekérdezve: {firmware_data['switch_name']} ({firmware_data['ip_address']}) - Verzió: {firmware_data['firmware_version']}")
|
||||
|
||||
if all_switches_firmware:
|
||||
print(f"\nÖsszesen {len(all_switches_firmware)} switch adat gyűjtve. Mentés a(z) {CSV_FILENAME} fájlba...")
|
||||
|
||||
fieldnames = ['switch_name', 'ip_address', 'firmware_version']
|
||||
|
||||
try:
|
||||
with open(CSV_FILENAME, 'w', newline='', encoding='utf-8') as csvfile:
|
||||
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
||||
writer.writeheader()
|
||||
writer.writerows(all_switches_firmware)
|
||||
print(f"Sikeres mentés a(z) '{CSV_FILENAME}' fájlba.")
|
||||
except IOError as e:
|
||||
print(f"Hiba történt a CSV fájl írása közben: {e}")
|
||||
else:
|
||||
print("\nEgyetlen switch-ről sem sikerült adatot gyűjteni.")
|
||||
133
Dev/n8n/n8n_data/get_aruba_clients.py
Normal file
133
Dev/n8n/n8n_data/get_aruba_clients.py
Normal file
@@ -0,0 +1,133 @@
|
||||
import os
|
||||
import re
|
||||
from datetime import datetime
|
||||
import json
|
||||
import requests
|
||||
|
||||
from netmiko import ConnectHandler
|
||||
from netmiko.exceptions import NetmikoTimeoutException, NetmikoAuthenticationException
|
||||
|
||||
def get_aruba_clients(host, username, password):
|
||||
"""
|
||||
Connects to an Aruba switch via SSH, gets hostname and client info,
|
||||
and returns a list of dictionaries, each representing a client.
|
||||
"""
|
||||
device = {
|
||||
'device_type': 'aruba_aoscx',
|
||||
'host': host,
|
||||
'username': username,
|
||||
'password': password,
|
||||
}
|
||||
|
||||
all_clients_data = []
|
||||
print(f"Csatlakozás a(z) {host} eszközhöz...")
|
||||
try:
|
||||
with ConnectHandler(**device) as net_connect:
|
||||
print("Sikeres csatlakozás. Adatok lekérdezése...")
|
||||
|
||||
prompt = net_connect.find_prompt()
|
||||
switch_hostname = prompt.strip('#> ')
|
||||
|
||||
output = net_connect.send_command('show client ip')
|
||||
ip_pattern = re.compile(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$')
|
||||
|
||||
if isinstance(output, str):
|
||||
lines = output.splitlines()
|
||||
for line in lines[2:]:
|
||||
columns = line.split()
|
||||
if len(columns) >= 4:
|
||||
potential_ip = columns[-1]
|
||||
if ip_pattern.match(potential_ip):
|
||||
client_data = {
|
||||
'switch_name': switch_hostname,
|
||||
'mac_address': columns[0],
|
||||
'interface': columns[1],
|
||||
'vlan': columns[2],
|
||||
'ip_address': potential_ip,
|
||||
}
|
||||
all_clients_data.append(client_data)
|
||||
return all_clients_data
|
||||
|
||||
print("Hiba: A parancs kimenete nem volt a várt formátumban.")
|
||||
return None
|
||||
|
||||
except NetmikoTimeoutException:
|
||||
print(f"Hiba: Időtúllépés a(z) {host} eszközhöz való csatlakozáskor.")
|
||||
return None
|
||||
except NetmikoAuthenticationException:
|
||||
print(f"Hiba: Sikertelen hitelesítés a(z) {host} eszközön. Ellenőrizd a jelszót.")
|
||||
return None
|
||||
except Exception as e:
|
||||
print(f"Váratlan hiba történt: {e}")
|
||||
return None
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
# --- IDE DEFINIÁLD A SWITCH-EK IP CÍMEIT ---
|
||||
|
||||
SWITCH_IPS = [
|
||||
|
||||
"10.220.1.84", # NET-SW01
|
||||
"10.220.1.85", # NET-SW02
|
||||
"10.220.1.86", # NET-SW04
|
||||
"10.220.1.87", # NET-SW05
|
||||
"10.220.1.88", # NET-SW06
|
||||
"10.220.1.90", # NET-SW07
|
||||
"10.220.1.91", # NET-SW08
|
||||
"10.220.1.92", # NET-SW09
|
||||
"10.220.1.93", # NET-SW10
|
||||
"10.220.1.94", # NET-SW11
|
||||
"10.220.1.96", # NET-SW13
|
||||
# "10.220.1.96", # NET-SW14
|
||||
"10.220.1.99", # NET-SW17
|
||||
|
||||
]
|
||||
|
||||
USERNAME = os.getenv('ARUBA_USER', 'svc.operator') # Felhasználónév környezeti változóból, alapértelmezett értékkel
|
||||
if not USERNAME:
|
||||
print("Hiba: Az ARUBA_USER környezeti változó nincs beállítva.")
|
||||
exit()
|
||||
|
||||
PASSWORD = os.getenv('ARUBA_PASSWORD')
|
||||
if not PASSWORD:
|
||||
print("Hiba: Az ARUBA_PASSWORD környezeti változó nincs beállítva.")
|
||||
exit()
|
||||
|
||||
N8N_WEBHOOK_URL = os.getenv('N8N_WEBHOOK_URL')
|
||||
if not N8N_WEBHOOK_URL:
|
||||
print("Hiba: Az N8N_WEBHOOK_URL környezeti változó nincs beállítva.")
|
||||
exit()
|
||||
|
||||
|
||||
all_switches_clients = []
|
||||
|
||||
|
||||
|
||||
for ip in SWITCH_IPS:
|
||||
|
||||
print(f"\n--- Feldolgozás: {ip} ---")
|
||||
|
||||
clients_from_one_switch = get_aruba_clients(ip, USERNAME, PASSWORD)
|
||||
|
||||
if clients_from_one_switch:
|
||||
|
||||
all_switches_clients.extend(clients_from_one_switch)
|
||||
|
||||
print(f"Sikeresen lekérdezve {len(clients_from_one_switch)} kliens a(z) {ip} switch-ről.")
|
||||
|
||||
else:
|
||||
|
||||
print(f"Nem sikerült adatot lekérdezni a(z) {ip} switch-ről.")
|
||||
|
||||
|
||||
if all_switches_clients:
|
||||
print(f"\nÖsszesen {len(all_switches_clients)} kliens adat gyűjtve. Küldés az n8n webhookra...")
|
||||
try:
|
||||
proxies = { 'http': None, 'https': None }
|
||||
response = requests.post(N8N_WEBHOOK_URL, json=all_switches_clients, proxies=proxies)
|
||||
response.raise_for_status() # Hibát dob, ha a státuszkód 4xx vagy 5xx
|
||||
print(f"Sikeresen elküldve {len(all_switches_clients)} kliens adat az n8n webhookra. Státusz: {response.status_code}")
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Hiba történt az adatok n8n webhookra küldése közben: {e}")
|
||||
else:
|
||||
print("\nEgyetlen switch-ről sem sikerült adatot gyűjteni.")
|
||||
16
Dev/n8n/stdout convert to JSON.md
Normal file
16
Dev/n8n/stdout convert to JSON.md
Normal file
@@ -0,0 +1,16 @@
|
||||
import json
|
||||
|
||||
# Az n8n az 'items' listában adja át a bejövő adatokat.
|
||||
# Nekünk az első elem kell, ami az Execute Command kimenete.
|
||||
input_item = items[0]
|
||||
|
||||
# Kivesszük a 'stdout' mezőt, ami a JSON-t tartalmazza szövegként.
|
||||
stdout_string = input_item.json['stdout']
|
||||
|
||||
# A `json.loads()` paranccsal a szöveget átalakítjuk egy Python listává,
|
||||
# ami dictionary-ket tartalmaz.
|
||||
switches_list = json.loads(stdout_string)
|
||||
|
||||
# Visszaadjuk a listát. Az n8n a Code node kimenetén ezt automatikusan
|
||||
# szét fogja bontani különálló elemekre (item-ekre).
|
||||
return switches_list
|
||||
BIN
Dev/network_scann/__pycache__/arp_scanner.cpython-314.pyc
Normal file
BIN
Dev/network_scann/__pycache__/arp_scanner.cpython-314.pyc
Normal file
Binary file not shown.
314
Dev/network_scann/arp_scanner.py
Normal file
314
Dev/network_scann/arp_scanner.py
Normal file
@@ -0,0 +1,314 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Simple ARP Network Scanner
|
||||
Discovers devices on local network using ARP protocol
|
||||
"""
|
||||
|
||||
import subprocess
|
||||
import re
|
||||
import json
|
||||
import time
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
class ARPScanner:
|
||||
def __init__(self, config_file="config.json"):
|
||||
self.config_file = Path(config_file)
|
||||
self.config = self.load_config()
|
||||
self.data_file = Path(self.config['database']['devices_file'])
|
||||
self.known_devices = self.load_devices()
|
||||
|
||||
def load_config(self):
|
||||
"""Load configuration from file"""
|
||||
if self.config_file.exists():
|
||||
try:
|
||||
with open(self.config_file, 'r') as f:
|
||||
return json.load(f)
|
||||
except:
|
||||
pass
|
||||
|
||||
# Default configuration
|
||||
return {
|
||||
"network": {
|
||||
"subnet": "192.168.1.0/24",
|
||||
"auto_detect": True
|
||||
},
|
||||
"scanning": {
|
||||
"ping_timeout": 1,
|
||||
"ping_delay": 0.01,
|
||||
"max_threads": 10
|
||||
},
|
||||
"database": {
|
||||
"devices_file": "known_devices.json"
|
||||
},
|
||||
"logging": {
|
||||
"enabled": False,
|
||||
"log_file": "network_scanner.log",
|
||||
"log_level": "INFO"
|
||||
}
|
||||
}
|
||||
|
||||
def load_devices(self):
|
||||
"""Load previously discovered devices"""
|
||||
if self.data_file.exists():
|
||||
try:
|
||||
with open(self.data_file, 'r') as f:
|
||||
return json.load(f)
|
||||
except:
|
||||
return {}
|
||||
return {}
|
||||
|
||||
def save_devices(self):
|
||||
"""Save devices to file"""
|
||||
with open(self.data_file, 'w') as f:
|
||||
json.dump(self.known_devices, f, indent=2)
|
||||
|
||||
def get_network_info(self):
|
||||
"""Get network range from config or auto-detect"""
|
||||
print(f"Auto-detect: {self.config['network']['auto_detect']}")
|
||||
print(f"Config subnet: {self.config['network']['subnet']}")
|
||||
|
||||
if not self.config['network']['auto_detect']:
|
||||
print(f"Using configured subnet: {self.config['network']['subnet']}")
|
||||
return self.config['network']['subnet']
|
||||
|
||||
interface = None
|
||||
try:
|
||||
# Check if we're on Windows or Linux
|
||||
import platform
|
||||
system = platform.system().lower()
|
||||
|
||||
if system == 'windows':
|
||||
# Windows network info
|
||||
result = subprocess.run(['ipconfig'], capture_output=True,
|
||||
text=True, encoding='utf-8', errors='ignore')
|
||||
for line in result.stdout.split('\n'):
|
||||
if 'IPv4' in line and 'Address' in line:
|
||||
ip_match = re.search(r'(\d+\.\d+\.\d+\.\d+)', line)
|
||||
if ip_match:
|
||||
ip = ip_match.group(1)
|
||||
return self.calculate_network_range(ip, 24)
|
||||
else:
|
||||
# Linux network info
|
||||
result = subprocess.run(['ip', 'route', 'show', 'default'],
|
||||
capture_output=True, text=True, encoding='utf-8', errors='ignore')
|
||||
if result.returncode == 0:
|
||||
line = result.stdout.strip()
|
||||
parts = line.split()
|
||||
for i, part in enumerate(parts):
|
||||
if part == 'dev':
|
||||
interface = parts[i+1]
|
||||
elif part == 'via':
|
||||
gateway = parts[i+1]
|
||||
|
||||
# Get network range
|
||||
if interface:
|
||||
result = subprocess.run(['ip', 'addr', 'show', interface],
|
||||
capture_output=True, text=True, encoding='utf-8', errors='ignore')
|
||||
for line in result.stdout.split('\n'):
|
||||
if 'inet ' in line:
|
||||
ip_match = re.search(r'inet (\d+\.\d+\.\d+\.\d+)/(\d+)', line)
|
||||
if ip_match:
|
||||
ip = ip_match.group(1)
|
||||
cidr = int(ip_match.group(2))
|
||||
return self.calculate_network_range(ip, cidr)
|
||||
except:
|
||||
pass
|
||||
|
||||
return self.config['network']['subnet'] # fallback to config
|
||||
|
||||
def calculate_network_range(self, ip, cidr):
|
||||
"""Calculate network range from IP and CIDR"""
|
||||
parts = ip.split('.')
|
||||
if cidr == 24:
|
||||
return f"{parts[0]}.{parts[1]}.{parts[2]}.0/24"
|
||||
elif cidr == 16:
|
||||
return f"{parts[0]}.{parts[1]}.0.0/16"
|
||||
else:
|
||||
return f"{parts[0]}.{parts[1]}.{parts[2]}.0/24"
|
||||
|
||||
def scan_arp_table(self):
|
||||
"""Read current ARP table"""
|
||||
try:
|
||||
import platform
|
||||
system = platform.system().lower()
|
||||
|
||||
if system == 'windows':
|
||||
result = subprocess.run(['arp', '-a'], capture_output=True,
|
||||
text=True, encoding='utf-8', errors='ignore')
|
||||
else:
|
||||
result = subprocess.run(['arp', '-n'], capture_output=True,
|
||||
text=True, encoding='utf-8', errors='ignore')
|
||||
|
||||
devices = {}
|
||||
|
||||
for line in result.stdout.split('\n'):
|
||||
if re.match(r'\d+\.\d+\.\d+\.\d+', line):
|
||||
parts = line.split()
|
||||
if len(parts) >= 2:
|
||||
# Windows format: " 192.168.1.1 00-11-22-33-44-55 dynamic"
|
||||
# Linux format: "192.168.1.1 ether 00:11:22:33:44:55 C eth0"
|
||||
ip = parts[0]
|
||||
mac = parts[1] if len(parts) > 1 else ""
|
||||
|
||||
# Clean MAC address format
|
||||
mac = mac.replace('-', ':').upper()
|
||||
|
||||
if mac and mac != '(incomplete)' and len(mac) == 17:
|
||||
devices[ip] = {
|
||||
'mac': mac,
|
||||
'last_seen': datetime.now().isoformat()
|
||||
}
|
||||
|
||||
return devices
|
||||
except:
|
||||
return {}
|
||||
|
||||
def ping_sweep(self, network_range):
|
||||
"""Ping sweep to populate ARP table"""
|
||||
print("Performing ping sweep...")
|
||||
|
||||
import platform
|
||||
system = platform.system().lower()
|
||||
|
||||
# Extract network part
|
||||
if '/24' in network_range:
|
||||
base = network_range.replace('/24', '')
|
||||
base_parts = base.split('.')
|
||||
|
||||
ping_timeout = self.config['scanning']['ping_timeout']
|
||||
ping_delay = self.config['scanning']['ping_delay']
|
||||
|
||||
# Only ping first 50 IPs for faster testing
|
||||
for i in range(1, 51):
|
||||
ip = f"{base_parts[0]}.{base_parts[1]}.{base_parts[2]}.{i}"
|
||||
try:
|
||||
if system == 'windows':
|
||||
subprocess.run(['ping', '-n', '1', '-w', str(ping_timeout * 1000), ip],
|
||||
capture_output=True, timeout=1, encoding='utf-8', errors='ignore')
|
||||
else:
|
||||
subprocess.run(['ping', '-c', '1', '-W', str(ping_timeout), ip],
|
||||
capture_output=True, timeout=1, encoding='utf-8', errors='ignore')
|
||||
except:
|
||||
pass
|
||||
time.sleep(ping_delay) # Configurable delay
|
||||
|
||||
def filter_devices_by_network(self, devices, network_range):
|
||||
"""Filter devices to only include those in the specified network"""
|
||||
if '/24' in network_range:
|
||||
base = network_range.replace('/24', '')
|
||||
base_parts = base.split('.')
|
||||
|
||||
filtered_devices = {}
|
||||
for ip, info in devices.items():
|
||||
ip_parts = ip.split('.')
|
||||
if (len(ip_parts) == 4 and
|
||||
ip_parts[0] == base_parts[0] and
|
||||
ip_parts[1] == base_parts[1] and
|
||||
ip_parts[2] == base_parts[2]):
|
||||
filtered_devices[ip] = info
|
||||
|
||||
return filtered_devices
|
||||
|
||||
return devices
|
||||
|
||||
def scan_network(self):
|
||||
"""Full network scan"""
|
||||
print("Starting ARP network scan...")
|
||||
|
||||
# Get network range
|
||||
network_range = self.get_network_info()
|
||||
print(f"Scanning network: {network_range}")
|
||||
|
||||
# First read existing ARP table
|
||||
print("Reading existing ARP table...")
|
||||
current_devices = self.scan_arp_table()
|
||||
print(f"Found {len(current_devices)} devices in ARP table")
|
||||
|
||||
# Filter devices to only include those in our network range
|
||||
if current_devices:
|
||||
current_devices = self.filter_devices_by_network(current_devices, network_range)
|
||||
print(f"Found {len(current_devices)} devices in target network")
|
||||
|
||||
# If no devices found, try ping sweep
|
||||
if not current_devices:
|
||||
print("No devices found in target network, trying ping sweep...")
|
||||
self.ping_sweep(network_range)
|
||||
current_devices = self.scan_arp_table()
|
||||
current_devices = self.filter_devices_by_network(current_devices, network_range)
|
||||
print(f"After ping sweep: {len(current_devices)} devices found")
|
||||
|
||||
return current_devices
|
||||
|
||||
def compare_devices(self, current_devices):
|
||||
"""Compare current devices with known ones"""
|
||||
new_devices = {}
|
||||
returned_devices = {}
|
||||
|
||||
for ip, info in current_devices.items():
|
||||
if ip not in self.known_devices:
|
||||
new_devices[ip] = info
|
||||
info['first_seen'] = datetime.now().isoformat()
|
||||
info['status'] = 'NEW'
|
||||
else:
|
||||
if self.known_devices[ip].get('status') == 'offline':
|
||||
returned_devices[ip] = info
|
||||
info['status'] = 'returned'
|
||||
else:
|
||||
info['status'] = 'online'
|
||||
|
||||
# Check for offline devices
|
||||
offline_devices = {}
|
||||
for ip in self.known_devices:
|
||||
if ip not in current_devices:
|
||||
offline_devices[ip] = self.known_devices[ip]
|
||||
offline_devices[ip]['status'] = 'offline'
|
||||
|
||||
return new_devices, returned_devices, offline_devices
|
||||
|
||||
def update_devices(self, current_devices):
|
||||
"""Update known devices database"""
|
||||
for ip, info in current_devices.items():
|
||||
self.known_devices[ip] = info
|
||||
|
||||
def run(self):
|
||||
"""Main scan function"""
|
||||
print(f"Scan started at: {datetime.now()}")
|
||||
|
||||
current_devices = self.scan_network()
|
||||
|
||||
if current_devices:
|
||||
new_devices, returned_devices, offline_devices = self.compare_devices(current_devices)
|
||||
|
||||
# Update database
|
||||
self.update_devices(current_devices)
|
||||
self.save_devices()
|
||||
|
||||
# Results
|
||||
print(f"\n=== Scan Results ===")
|
||||
print(f"Total devices found: {len(current_devices)}")
|
||||
|
||||
if new_devices:
|
||||
print(f"\n🆕 NEW DEVICES ({len(new_devices)}):")
|
||||
for ip, info in new_devices.items():
|
||||
print(f" {ip} - {info['mac']}")
|
||||
|
||||
if returned_devices:
|
||||
print(f"\n🔄 RETURNED DEVICES ({len(returned_devices)}):")
|
||||
for ip, info in returned_devices.items():
|
||||
print(f" {ip} - {info['mac']}")
|
||||
|
||||
if offline_devices:
|
||||
print(f"\n⚫ OFFLINE DEVICES ({len(offline_devices)}):")
|
||||
for ip, info in offline_devices.items():
|
||||
print(f" {ip} - {info['mac']}")
|
||||
|
||||
if not new_devices and not returned_devices:
|
||||
print("\n✅ No new devices detected")
|
||||
|
||||
else:
|
||||
print("No devices found")
|
||||
|
||||
if __name__ == "__main__":
|
||||
scanner = ARPScanner()
|
||||
scanner.run()
|
||||
20
Dev/sw_fw_scan/config.json
Normal file
20
Dev/sw_fw_scan/config.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"switch_ips": [
|
||||
"10.220.1.84",
|
||||
"10.220.1.85",
|
||||
"10.220.1.86",
|
||||
"10.220.1.87",
|
||||
"10.220.1.88",
|
||||
"10.220.1.89",
|
||||
"10.220.1.90",
|
||||
"10.220.1.91",
|
||||
"10.220.1.92",
|
||||
"10.220.1.93",
|
||||
"10.220.1.94",
|
||||
"10.220.1.96",
|
||||
"10.220.1.98",
|
||||
"10.220.1.99"
|
||||
],
|
||||
"username": "svc.operator",
|
||||
"password": "NuAaGTNPQWyeneQLI5qr"
|
||||
}
|
||||
1
Dev/sw_fw_scan/docker_image_run.sh
Normal file
1
Dev/sw_fw_scan/docker_image_run.sh
Normal file
@@ -0,0 +1 @@
|
||||
docker run -d --name sw_fm_scan_csv -v /mnt/c/Tools/Docker/sw_fw_scan/config.json:/app/config.json -v /mnt/c/Tools/Docker/sq_fw_scan/results:/app/results sw-fw-scan-csv
|
||||
105
Dev/sw_fw_scan/get_aruba_firmware.py
Normal file
105
Dev/sw_fw_scan/get_aruba_firmware.py
Normal file
@@ -0,0 +1,105 @@
|
||||
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import csv
|
||||
import sys
|
||||
from datetime import datetime
|
||||
from netmiko import ConnectHandler
|
||||
from netmiko.exceptions import NetmikoTimeoutException, NetmikoAuthenticationException
|
||||
|
||||
def get_aruba_firmware(host, username, password):
|
||||
"""
|
||||
Connects to an Aruba switch, retrieves the hostname and firmware version.
|
||||
Returns a dictionary with the collected data.
|
||||
Progress is written to stderr.
|
||||
"""
|
||||
device = {
|
||||
'device_type': 'aruba_aoscx',
|
||||
'host': host,
|
||||
'username': username,
|
||||
'password': password,
|
||||
}
|
||||
|
||||
print(f"--- Feldolgozás: {host} ---", file=sys.stderr)
|
||||
print(f"Csatlakozás a(z) {host} eszközhöz...", file=sys.stderr)
|
||||
try:
|
||||
with ConnectHandler(**device) as net_connect:
|
||||
print(f"Sikeres csatlakozás a(z) {host} eszközhöz. Firmware verzió lekérdezése...", file=sys.stderr)
|
||||
|
||||
prompt = net_connect.find_prompt()
|
||||
switch_hostname = prompt.strip('#> ')
|
||||
|
||||
output = net_connect.send_command('show version')
|
||||
|
||||
firmware_version = "N/A"
|
||||
match = re.search(r"Version\s+:\s+(.*)", output)
|
||||
if match:
|
||||
firmware_version = match.group(1).strip()
|
||||
|
||||
result = {
|
||||
'switch_name': switch_hostname,
|
||||
'ip_address': host,
|
||||
'firmware_version': firmware_version
|
||||
}
|
||||
print(f"Sikeresen lekérdezve: {result['switch_name']} ({result['ip_address']}) - Verzió: {result['firmware_version']}", file=sys.stderr)
|
||||
return result
|
||||
|
||||
except NetmikoTimeoutException:
|
||||
print(f"Hiba: Időtúllépés a(z) {host} eszközhöz való csatlakozáskor.", file=sys.stderr)
|
||||
return {'switch_name': 'N/A', 'ip_address': host, 'firmware_version': 'Timeout'}
|
||||
except NetmikoAuthenticationException:
|
||||
print(f"Hiba: Sikertelen hitelesítés a(z) {host} eszközön.", file=sys.stderr)
|
||||
return {'switch_name': 'N/A', 'ip_address': host, 'firmware_version': 'Auth Failed'}
|
||||
except Exception as e:
|
||||
print(f"Váratlan hiba történt a(z) {host} feldolgozása közben: {e}", file=sys.stderr)
|
||||
return {'switch_name': 'N/A', 'ip_address': host, 'firmware_version': f'Error: {e}'}
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Konfigurációs fájl beolvasása
|
||||
try:
|
||||
with open('config.json', 'r') as f:
|
||||
config = json.load(f)
|
||||
except FileNotFoundError:
|
||||
print("Hiba: A 'config.json' fájl nem található.", file=sys.stderr)
|
||||
exit(1)
|
||||
except json.JSONDecodeError:
|
||||
print("Hiba: A 'config.json' fájl formátuma érvénytelen.", file=sys.stderr)
|
||||
exit(1)
|
||||
|
||||
SWITCH_IPS = config.get("switch_ips", [])
|
||||
USERNAME = config.get("username")
|
||||
PASSWORD = config.get("password")
|
||||
|
||||
if not all([SWITCH_IPS, USERNAME, PASSWORD]):
|
||||
print("Hiba: A 'config.json' fájl hiányos. Tartalmaznia kell 'switch_ips', 'username', és 'password' kulcsokat.", file=sys.stderr)
|
||||
exit(1)
|
||||
|
||||
all_switches_firmware = []
|
||||
for ip in SWITCH_IPS:
|
||||
firmware_data = get_aruba_firmware(ip, USERNAME, PASSWORD)
|
||||
if firmware_data:
|
||||
all_switches_firmware.append(firmware_data)
|
||||
|
||||
# --- Opcionális: CSV mentés ---
|
||||
if all_switches_firmware:
|
||||
OUTPUT_DIR = "results"
|
||||
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
|
||||
CSV_FILENAME = os.path.join(OUTPUT_DIR, f"aruba_firmware_versions_{timestamp}.csv")
|
||||
|
||||
print(f"\nÖsszesen {len(all_switches_firmware)} switch adat gyűjtve. Mentés a(z) {CSV_FILENAME} fájlba...", file=sys.stderr)
|
||||
fieldnames = ['switch_name', 'ip_address', 'firmware_version']
|
||||
try:
|
||||
with open(CSV_FILENAME, 'w', newline='', encoding='utf-8') as csvfile:
|
||||
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
||||
writer.writeheader()
|
||||
writer.writerows(all_switches_firmware)
|
||||
print(f"Sikeres mentés a(z) '{CSV_FILENAME}' fájlba.", file=sys.stderr)
|
||||
except IOError as e:
|
||||
print(f"Hiba történt a CSV fájl írása közben: {e}", file=sys.stderr)
|
||||
else:
|
||||
print("\nEgyetlen switch-ről sem sikerült adatot gyűjteni.", file=sys.stderr)
|
||||
|
||||
# --- Fő kimenet: JSON a stdout-ra ---
|
||||
print(json.dumps(all_switches_firmware, indent=2))
|
||||
20
Dev/sw_fw_scan/howto.md
Normal file
20
Dev/sw_fw_scan/howto.md
Normal file
@@ -0,0 +1,20 @@
|
||||
## Konfiguráció (config.json)
|
||||
|
||||
A szkript a `config.json` fájlból olvassa be a konfigurációs adatokat. Ennek a fájlnak a konténer `WORKDIR` gyökerében (`/app/config.json`) kell elhelyezkednie, és a következő kulcsokat kell tartalmaznia:
|
||||
|
||||
- `switch_ips`: Egy lista a switch-ek IP címeiből.
|
||||
- `username`: A switch-ekhez való csatlakozáshoz használt felhasználónév.
|
||||
- `password`: A switch-ekhez való csatlakozáshoz használt jelszó.
|
||||
|
||||
Példa `config.json`:
|
||||
```json
|
||||
{
|
||||
"switch_ips": [
|
||||
"10.220.1.84",
|
||||
"10.220.1.85"
|
||||
],
|
||||
"username": "az_on_felhasznaloneve",
|
||||
"password": "az_on_jelszava"
|
||||
}
|
||||
```
|
||||
|
||||
1
Dev/sw_fw_scan/requirements.txt
Normal file
1
Dev/sw_fw_scan/requirements.txt
Normal file
@@ -0,0 +1 @@
|
||||
netmiko
|
||||
@@ -0,0 +1,15 @@
|
||||
switch_name,ip_address,firmware_version
|
||||
NET-SW01,10.220.1.84,PL.10.16.1006
|
||||
NET-SW02,10.220.1.85,PL.10.16.1006
|
||||
NET-SW04,10.220.1.86,PL.10.16.1006
|
||||
NET-SW05,10.220.1.87,PL.10.16.1006
|
||||
NET-SW06,10.220.1.88,PL.10.16.1006
|
||||
NET-SW01-CORE,10.220.1.89,LL.10.16.1006
|
||||
NET-SW07,10.220.1.90,PL.10.16.1006
|
||||
NET-SW08,10.220.1.91,PL.10.16.1006
|
||||
NET-SW09,10.220.1.92,PL.10.16.1006
|
||||
NET-SW10,10.220.1.93,PL.10.16.1006
|
||||
NET-SW11,10.220.1.94,PL.10.16.1006
|
||||
NET-SW13,10.220.1.96,PL.10.16.1006
|
||||
NET-SW16,10.220.1.98,PL.10.16.1006
|
||||
NET-SW17,10.220.1.99,PL.10.16.1006
|
||||
|
20
Dev/sw_fw_scan_CSV/Dockerfile
Normal file
20
Dev/sw_fw_scan_CSV/Dockerfile
Normal file
@@ -0,0 +1,20 @@
|
||||
# Hivatalos Python futtatókörnyezet használata alapként
|
||||
FROM python:3.11-slim
|
||||
|
||||
# Munkakönyvtár beállítása a konténerben
|
||||
WORKDIR /app
|
||||
|
||||
# A requirements.txt fájl másolása a konténerbe
|
||||
COPY requirements.txt .
|
||||
|
||||
# A requirements.txt-ben meghatározott csomagok telepítése
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# A Python script másolása a konténerbe
|
||||
COPY get_aruba_firmware.py .
|
||||
|
||||
# A config.json másolása a konténerbe
|
||||
COPY config.json .
|
||||
|
||||
# A script futtatása a konténer indításakor
|
||||
CMD ["python3", "get_aruba_firmware.py"]
|
||||
22
Dev/sw_fw_scan_CSV/config.json
Normal file
22
Dev/sw_fw_scan_CSV/config.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"switch_ips": [
|
||||
"10.220.1.84",
|
||||
"10.220.1.85",
|
||||
"10.220.1.84",
|
||||
"10.220.1.85",
|
||||
"10.220.1.86",
|
||||
"10.220.1.87",
|
||||
"10.220.1.88",
|
||||
"10.220.1.89",
|
||||
"10.220.1.90",
|
||||
"10.220.1.91",
|
||||
"10.220.1.92",
|
||||
"10.220.1.93",
|
||||
"10.220.1.94",
|
||||
"10.220.1.96",
|
||||
"10.220.1.98",
|
||||
"10.220.1.99"
|
||||
],
|
||||
"username": "svc.operator",
|
||||
"password": "NuAaGTNPQWyeneQLI5qr"
|
||||
}
|
||||
7
Dev/sw_fw_scan_CSV/docker-compose.yml
Normal file
7
Dev/sw_fw_scan_CSV/docker-compose.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
switch_firmware_scan_csv:
|
||||
build: .
|
||||
container_name: sw_fw_scan_csv
|
||||
restart: unless-stopped
|
||||
3
Dev/sw_fw_scan_CSV/docker_image_run.sh
Normal file
3
Dev/sw_fw_scan_CSV/docker_image_run.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
docker run --rm -v /mnt/c/Tools/Docker/sw_fw_scan/config.json:/app/config.json -v /mnt/c/Tools/Docker/sq_fw_scan/results:/app/results sw-fw-scan-csv
|
||||
|
||||
docker run --rm -v /mnt/c/Tools/Docker/sw_fw_scan/config.json:/app/config.json -v /mnt/c/Tools/Docker/sw_fw_scan/results:/app/results sw-fw-scan-csv
|
||||
105
Dev/sw_fw_scan_CSV/get_aruba_firmware.py
Normal file
105
Dev/sw_fw_scan_CSV/get_aruba_firmware.py
Normal file
@@ -0,0 +1,105 @@
|
||||
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import csv
|
||||
from datetime import datetime
|
||||
from netmiko import ConnectHandler
|
||||
from netmiko.exceptions import NetmikoTimeoutException, NetmikoAuthenticationException
|
||||
|
||||
def get_aruba_firmware(host, username, password):
|
||||
"""
|
||||
Connects to an Aruba switch, retrieves the hostname and firmware version.
|
||||
Returns a dictionary with the collected data.
|
||||
"""
|
||||
device = {
|
||||
'device_type': 'aruba_aoscx',
|
||||
'host': host,
|
||||
'username': username,
|
||||
'password': password,
|
||||
}
|
||||
|
||||
print(f"Csatlakozás a(z) {host} eszközhöz...")
|
||||
try:
|
||||
with ConnectHandler(**device) as net_connect:
|
||||
print(f"Sikeres csatlakozás a(z) {host} eszközhöz. Firmware verzió lekérdezése...")
|
||||
|
||||
# Hostname lekérdezése a promptból
|
||||
prompt = net_connect.find_prompt()
|
||||
switch_hostname = prompt.strip('#> ')
|
||||
|
||||
# Firmware verzió lekérdezése
|
||||
output = net_connect.send_command('show version')
|
||||
|
||||
firmware_version = "N/A"
|
||||
# Reguláris kifejezés a firmware verzió megtalálásához
|
||||
match = re.search(r"Version\s+:\s+(.*)", output)
|
||||
if match:
|
||||
firmware_version = match.group(1).strip()
|
||||
|
||||
return {
|
||||
'switch_name': switch_hostname,
|
||||
'ip_address': host,
|
||||
'firmware_version': firmware_version
|
||||
}
|
||||
|
||||
except NetmikoTimeoutException:
|
||||
print(f"Hiba: Időtúllépés a(z) {host} eszközhöz való csatlakozáskor.")
|
||||
return {'switch_name': 'N/A', 'ip_address': host, 'firmware_version': 'Timeout'}
|
||||
except NetmikoAuthenticationException:
|
||||
print(f"Hiba: Sikertelen hitelesítés a(z) {host} eszközön.")
|
||||
return {'switch_name': 'N/A', 'ip_address': host, 'firmware_version': 'Auth Failed'}
|
||||
except Exception as e:
|
||||
print(f"Váratlan hiba történt a(z) {host} feldolgozása közben: {e}")
|
||||
return {'switch_name': 'N/A', 'ip_address': host, 'firmware_version': f'Error: {e}'}
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Konfigurációs fájl beolvasása
|
||||
try:
|
||||
with open('config.json', 'r') as f:
|
||||
config = json.load(f)
|
||||
except FileNotFoundError:
|
||||
print("Hiba: A 'config.json' fájl nem található.")
|
||||
exit()
|
||||
except json.JSONDecodeError:
|
||||
print("Hiba: A 'config.json' fájl formátuma érvénytelen.")
|
||||
exit()
|
||||
|
||||
SWITCH_IPS = config.get("switch_ips", [])
|
||||
USERNAME = config.get("username")
|
||||
PASSWORD = config.get("password")
|
||||
|
||||
if not all([SWITCH_IPS, USERNAME, PASSWORD]):
|
||||
print("Hiba: A 'config.json' fájl hiányos. Tartalmaznia kell 'switch_ips', 'username', és 'password' kulcsokat.")
|
||||
exit()
|
||||
|
||||
# Kimeneti mappa
|
||||
OUTPUT_DIR = "results"
|
||||
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
|
||||
CSV_FILENAME = os.path.join(OUTPUT_DIR, f"aruba_firmware_versions_{timestamp}.csv")
|
||||
|
||||
all_switches_firmware = []
|
||||
|
||||
for ip in SWITCH_IPS:
|
||||
print(f"\n--- Feldolgozás: {ip} ---")
|
||||
firmware_data = get_aruba_firmware(ip, USERNAME, PASSWORD)
|
||||
if firmware_data:
|
||||
all_switches_firmware.append(firmware_data)
|
||||
print(f"Sikeresen lekérdezve: {firmware_data['switch_name']} ({firmware_data['ip_address']}) - Verzió: {firmware_data['firmware_version']}")
|
||||
|
||||
if all_switches_firmware:
|
||||
print(f"\nÖsszesen {len(all_switches_firmware)} switch adat gyűjtve. Mentés a(z) {CSV_FILENAME} fájlba...")
|
||||
|
||||
fieldnames = ['switch_name', 'ip_address', 'firmware_version']
|
||||
|
||||
try:
|
||||
with open(CSV_FILENAME, 'w', newline='', encoding='utf-8') as csvfile:
|
||||
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
||||
writer.writeheader()
|
||||
writer.writerows(all_switches_firmware)
|
||||
print(f"Sikeres mentés a(z) '{CSV_FILENAME}' fájlba.")
|
||||
except IOError as e:
|
||||
print(f"Hiba történt a CSV fájl írása közben: {e}")
|
||||
else:
|
||||
print("\nEgyetlen switch-ről sem sikerült adatot gyűjteni.")
|
||||
44
Dev/sw_fw_scan_CSV/howto.md
Normal file
44
Dev/sw_fw_scan_CSV/howto.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# How-to: switch_firmware_scan_csv Docker Image
|
||||
|
||||
Ez a dokumentum leírja, hogyan kell használni a `switch_firmware_scan_csv` Docker image-et.
|
||||
|
||||
## Konfiguráció (config.json)
|
||||
|
||||
A szkript a `config.json` fájlból olvassa be a konfigurációs adatokat. Ennek a fájlnak a konténer `WORKDIR` gyökerében (`/app/config.json`) kell elhelyezkednie, és a következő kulcsokat kell tartalmaznia:
|
||||
|
||||
- `switch_ips`: Egy lista a switch-ek IP címeiből.
|
||||
- `username`: A switch-ekhez való csatlakozáshoz használt felhasználónév.
|
||||
- `password`: A switch-ekhez való csatlakozáshoz használt jelszó.
|
||||
|
||||
Példa `config.json`:
|
||||
```json
|
||||
{
|
||||
"switch_ips": [
|
||||
"10.220.1.84",
|
||||
"10.220.1.85"
|
||||
],
|
||||
"username": "az_on_felhasznaloneve",
|
||||
"password": "az_on_jelszava"
|
||||
}
|
||||
```
|
||||
|
||||
## Futtatás
|
||||
|
||||
A konténer futtatásához használja a következő parancsot:
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name switch_firmware_scan_csv \
|
||||
-v /eleresi/ut/a/hoston/config.json:/app/config.json \
|
||||
-v /eleresi/ut/a/hoston/results:/app/results \
|
||||
switch_firmware_scan_csv
|
||||
```
|
||||
|
||||
### Magyarázat:
|
||||
|
||||
- `-d`: A konténer háttérben fut.
|
||||
- `--name switch_firmware_scan_csv`: A konténer neve.
|
||||
- `-v /eleresi/ut/a/hoston/config.json:/app/config.json`: Csatolja a helyi `config.json` fájlt a konténer `/app/config.json` útvonalához.
|
||||
- `-v /eleresi/ut/a/hoston/results:/app/results`: Csatol egy kötetet a konténer `/app/results` könyvtárához. A kimeneti CSV fájlok a gazda gép `/eleresi/ut/a/hoston/results` könyvtárában lesznek megtalálhatók.
|
||||
|
||||
```
|
||||
1
Dev/sw_fw_scan_CSV/requirements.txt
Normal file
1
Dev/sw_fw_scan_CSV/requirements.txt
Normal file
@@ -0,0 +1 @@
|
||||
netmiko
|
||||
@@ -0,0 +1,17 @@
|
||||
switch_name,ip_address,firmware_version
|
||||
NET-SW01,10.220.1.84,PL.10.16.1006
|
||||
NET-SW02,10.220.1.85,PL.10.16.1006
|
||||
NET-SW01,10.220.1.84,PL.10.16.1006
|
||||
NET-SW02,10.220.1.85,PL.10.16.1006
|
||||
NET-SW04,10.220.1.86,PL.10.16.1006
|
||||
NET-SW05,10.220.1.87,PL.10.16.1006
|
||||
NET-SW06,10.220.1.88,PL.10.16.1006
|
||||
NET-SW01-CORE,10.220.1.89,LL.10.16.1006
|
||||
NET-SW07,10.220.1.90,PL.10.16.1006
|
||||
NET-SW08,10.220.1.91,PL.10.16.1006
|
||||
NET-SW09,10.220.1.92,PL.10.16.1006
|
||||
NET-SW10,10.220.1.93,PL.10.16.1006
|
||||
NET-SW11,10.220.1.94,PL.10.16.1006
|
||||
NET-SW13,10.220.1.96,PL.10.16.1006
|
||||
NET-SW16,10.220.1.98,PL.10.16.1006
|
||||
NET-SW17,10.220.1.99,PL.10.16.1006
|
||||
|
@@ -0,0 +1,17 @@
|
||||
switch_name,ip_address,firmware_version
|
||||
NET-SW01,10.220.1.84,PL.10.16.1006
|
||||
NET-SW02,10.220.1.85,PL.10.16.1006
|
||||
NET-SW01,10.220.1.84,PL.10.16.1006
|
||||
NET-SW02,10.220.1.85,PL.10.16.1006
|
||||
NET-SW04,10.220.1.86,PL.10.16.1006
|
||||
NET-SW05,10.220.1.87,PL.10.16.1006
|
||||
NET-SW06,10.220.1.88,PL.10.16.1006
|
||||
NET-SW01-CORE,10.220.1.89,LL.10.16.1006
|
||||
NET-SW07,10.220.1.90,PL.10.16.1006
|
||||
NET-SW08,10.220.1.91,PL.10.16.1006
|
||||
NET-SW09,10.220.1.92,PL.10.16.1006
|
||||
NET-SW10,10.220.1.93,PL.10.16.1006
|
||||
NET-SW11,10.220.1.94,PL.10.16.1006
|
||||
NET-SW13,10.220.1.96,PL.10.16.1006
|
||||
NET-SW16,10.220.1.98,PL.10.16.1006
|
||||
NET-SW17,10.220.1.99,PL.10.16.1006
|
||||
|
20
Dev/sw_ip_scan/config.json
Normal file
20
Dev/sw_ip_scan/config.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"switch_ips": [
|
||||
"10.220.1.84",
|
||||
"10.220.1.85",
|
||||
"10.220.1.86",
|
||||
"10.220.1.87",
|
||||
"10.220.1.88",
|
||||
"10.220.1.89",
|
||||
"10.220.1.90",
|
||||
"10.220.1.91",
|
||||
"10.220.1.92",
|
||||
"10.220.1.93",
|
||||
"10.220.1.94",
|
||||
"10.220.1.96",
|
||||
"10.220.1.98",
|
||||
"10.220.1.99"
|
||||
],
|
||||
"username": "svc.operator",
|
||||
"password": "NuAaGTNPQWyeneQLI5qr"
|
||||
}
|
||||
116
Dev/sw_ip_scan/get_aruba_clients.py
Normal file
116
Dev/sw_ip_scan/get_aruba_clients.py
Normal file
@@ -0,0 +1,116 @@
|
||||
import os
|
||||
import re
|
||||
import csv
|
||||
import json
|
||||
import sys
|
||||
from datetime import datetime
|
||||
from netmiko import ConnectHandler
|
||||
from netmiko.exceptions import NetmikoTimeoutException, NetmikoAuthenticationException
|
||||
|
||||
def get_aruba_clients(host, username, password):
|
||||
"""
|
||||
Connects to an Aruba switch via SSH, gets hostname and client info,
|
||||
and returns a list of dictionaries, each representing a client.
|
||||
"""
|
||||
device = {
|
||||
'device_type': 'aruba_aoscx',
|
||||
'host': host,
|
||||
'username': username,
|
||||
'password': password,
|
||||
}
|
||||
|
||||
all_clients_data = []
|
||||
print(f"Csatlakozás a(z) {host} eszközhöz...", file=sys.stderr)
|
||||
try:
|
||||
with ConnectHandler(**device) as net_connect:
|
||||
print("Sikeres csatlakozás. Adatok lekérdezése...", file=sys.stderr)
|
||||
|
||||
prompt = net_connect.find_prompt()
|
||||
switch_hostname = prompt.strip('#> ')
|
||||
|
||||
output = net_connect.send_command('show client ip')
|
||||
ip_pattern = re.compile(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$')
|
||||
|
||||
if isinstance(output, str):
|
||||
lines = output.splitlines()
|
||||
for line in lines[2:]:
|
||||
columns = line.split()
|
||||
if len(columns) >= 4:
|
||||
potential_ip = columns[-1]
|
||||
if ip_pattern.match(potential_ip):
|
||||
client_data = {
|
||||
'switch_name': switch_hostname,
|
||||
'mac_address': columns[0],
|
||||
'interface': columns[1],
|
||||
'vlan': columns[2],
|
||||
'ip_address': potential_ip,
|
||||
}
|
||||
all_clients_data.append(client_data)
|
||||
return all_clients_data
|
||||
|
||||
print("Hiba: A parancs kimenete nem volt a várt formátumban.", file=sys.stderr)
|
||||
return None
|
||||
|
||||
except NetmikoTimeoutException:
|
||||
print(f"Hiba: Időtúllépés a(z) {host} eszközhöz való csatlakozáskor.", file=sys.stderr)
|
||||
return None
|
||||
except NetmikoAuthenticationException:
|
||||
print(f"Hiba: Sikertelen hitelesítés a(z) {host} eszközön. Ellenőrizd a jelszót.", file=sys.stderr)
|
||||
return None
|
||||
except Exception as e:
|
||||
print(f"Váratlan hiba történt: {e}", file=sys.stderr)
|
||||
return None
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Konfigurációs fájl beolvasása
|
||||
try:
|
||||
with open('config.json', 'r') as f:
|
||||
config = json.load(f)
|
||||
except FileNotFoundError:
|
||||
print("Hiba: A 'config.json' fájl nem található.", file=sys.stderr)
|
||||
exit(1)
|
||||
except json.JSONDecodeError:
|
||||
print("Hiba: A 'config.json' fájl formátuma érvénytelen.", file=sys.stderr)
|
||||
exit(1)
|
||||
|
||||
SWITCH_IPS = config.get("switch_ips", [])
|
||||
USERNAME = config.get("username")
|
||||
PASSWORD = config.get("password")
|
||||
|
||||
if not all([SWITCH_IPS, USERNAME, PASSWORD]):
|
||||
print("Hiba: A 'config.json' fájl hiányos. Tartalmaznia kell 'switch_ips', 'username', és 'password' kulcsokat.", file=sys.stderr)
|
||||
exit(1)
|
||||
|
||||
all_switches_clients = []
|
||||
for ip in SWITCH_IPS:
|
||||
print(f"\n--- Feldolgozás: {ip} ---", file=sys.stderr)
|
||||
clients_from_one_switch = get_aruba_clients(ip, USERNAME, PASSWORD)
|
||||
if clients_from_one_switch:
|
||||
all_switches_clients.extend(clients_from_one_switch)
|
||||
print(f"Sikeresen lekérdezve {len(clients_from_one_switch)} kliens a(z) {ip} switch-ről.", file=sys.stderr)
|
||||
else:
|
||||
print(f"Nem sikerült adatot lekérdezni a(z) {ip} switch-ről.", file=sys.stderr)
|
||||
|
||||
# --- Opcionális: CSV mentés ---
|
||||
if all_switches_clients:
|
||||
OUTPUT_DIR = "results"
|
||||
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
|
||||
CSV_FILENAME = os.path.join(OUTPUT_DIR, f"aruba_clients_ALL_{timestamp}.csv")
|
||||
|
||||
print(f"\nÖsszesen {len(all_switches_clients)} kliens adat gyűjtve. Mentés a(z) {CSV_FILENAME} fájlba...", file=sys.stderr)
|
||||
fieldnames = all_switches_clients[0].keys()
|
||||
try:
|
||||
with open(CSV_FILENAME, 'w', newline='', encoding='utf-8') as csvfile:
|
||||
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
||||
writer.writeheader()
|
||||
writer.writerows(all_switches_clients)
|
||||
print(f"Sikeres mentés a(z) '{CSV_FILENAME}' fájlba.", file=sys.stderr)
|
||||
except IOError as e:
|
||||
print(f"Hiba történt a CSV fájl írása közben: {e}", file=sys.stderr)
|
||||
else:
|
||||
print("\nEgyetlen switch-ről sem sikerült adatot gyűjteni.", file=sys.stderr)
|
||||
|
||||
# --- Fő kimenet: JSON a stdout-ra ---
|
||||
print(json.dumps(all_switches_clients, indent=2))
|
||||
|
||||
20
Dev/sw_ip_scan/howto.md
Normal file
20
Dev/sw_ip_scan/howto.md
Normal file
@@ -0,0 +1,20 @@
|
||||
## Konfiguráció (config.json)
|
||||
|
||||
A szkript a `config.json` fájlból olvassa be a konfigurációs adatokat. Ennek a fájlnak a konténer `WORKDIR` gyökerében (`/app/config.json`) kell elhelyezkednie, és a következő kulcsokat kell tartalmaznia:
|
||||
|
||||
- `switch_ips`: Egy lista a switch-ek IP címeiből.
|
||||
- `username`: A switch-ekhez való csatlakozáshoz használt felhasználónév.
|
||||
- `password`: A switch-ekhez való csatlakozáshoz használt jelszó.
|
||||
|
||||
Példa `config.json`:
|
||||
```json
|
||||
{
|
||||
"switch_ips": [
|
||||
"10.220.1.84",
|
||||
"10.220.1.85"
|
||||
],
|
||||
"username": "az_on_felhasznaloneve",
|
||||
"password": "az_on_jelszava"
|
||||
}
|
||||
```
|
||||
|
||||
1
Dev/sw_ip_scan/requirements.txt
Normal file
1
Dev/sw_ip_scan/requirements.txt
Normal file
@@ -0,0 +1 @@
|
||||
netmiko
|
||||
122
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_13-27-43.csv
Normal file
122
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_13-27-43.csv
Normal file
@@ -0,0 +1,122 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,38:7c:76:d7:ab:24,1/1/16,20,10.101.0.35
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,80:6d:97:4a:43:83,1/1/2,20,10.101.0.94
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,8c:8c:aa:93:19:54,1/1/25,20,10.101.0.20
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,f8:5a:00:23:e4:68,1/1/16,9,10.102.9.40
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,f4:a8:0d:f4:53:a7,1/1/36,20,10.101.0.67
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW09,ac:b4:80:cd:26:12,1/1/31,20,10.101.0.71
|
||||
NET-SW09,c4:c6:e6:da:56:59,1/1/17,20,10.101.0.132
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.24
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,10.101.0.96
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,8c:3b:4a:37:19:5a,1/1/1,20,10.101.0.26
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
122
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_13-45-32.csv
Normal file
122
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_13-45-32.csv
Normal file
@@ -0,0 +1,122 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,38:7c:76:d7:ab:24,1/1/16,20,10.101.0.35
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,80:6d:97:4a:43:83,1/1/2,20,10.101.0.94
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,8c:8c:aa:93:19:54,1/1/25,20,10.101.0.20
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,f4:a8:0d:f4:53:a7,1/1/36,20,10.101.0.67
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW09,ac:b4:80:cd:26:12,1/1/31,20,10.101.0.71
|
||||
NET-SW09,c4:c6:e6:da:56:59,1/1/17,20,10.101.0.132
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.24
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,1.1.1.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,13.69.109.2
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,8c:3b:4a:37:19:5a,1/1/1,20,10.101.0.26
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
119
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-01-22.csv
Normal file
119
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-01-22.csv
Normal file
@@ -0,0 +1,119 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,f4:a8:0d:f4:53:a7,1/1/36,20,10.101.0.67
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW09,c4:c6:e6:da:56:59,1/1/17,20,10.101.0.132
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,10.102.1.251
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.22
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,1.1.1.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,13.69.109.2
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,8c:3b:4a:37:19:5a,1/1/1,20,10.101.0.26
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
118
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-15-14.csv
Normal file
118
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-15-14.csv
Normal file
@@ -0,0 +1,118 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,c0:47:0e:93:1e:fe,1/1/25,20,10.101.0.44
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,10.102.1.251
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.22
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,10.89.233.2
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,20.19.129.161
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,8c:3b:4a:37:19:5a,1/1/1,20,10.101.0.26
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
117
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-18-30.csv
Normal file
117
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-18-30.csv
Normal file
@@ -0,0 +1,117 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,c0:47:0e:93:1e:fe,1/1/25,20,10.101.0.44
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,10.102.1.251
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.27
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,10.89.233.2
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,20.19.129.161
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
117
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-23-32.csv
Normal file
117
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-23-32.csv
Normal file
@@ -0,0 +1,117 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,c0:47:0e:93:1e:fe,1/1/25,20,10.101.0.44
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,10.102.1.251
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.27
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,10.89.233.2
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,20.19.129.161
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
117
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-31-44.csv
Normal file
117
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-31-44.csv
Normal file
@@ -0,0 +1,117 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,c0:47:0e:93:1e:fe,1/1/25,20,10.101.0.44
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,10.102.1.251
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.27
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,10.89.233.2
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,20.19.129.161
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
118
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-36-44.csv
Normal file
118
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-36-44.csv
Normal file
@@ -0,0 +1,118 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,14:b1:26:15:5d:cd,1/1/38,3040,192.168.10.55
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,c0:47:0e:93:1e:fe,1/1/25,20,10.101.0.44
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,10.102.1.251
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.27
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,10.89.233.2
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,20.19.129.161
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
118
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-42-08.csv
Normal file
118
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_14-42-08.csv
Normal file
@@ -0,0 +1,118 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,c0:47:0e:93:1e:fe,1/1/25,20,10.101.0.44
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,10.102.1.251
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.27
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,10.89.233.2
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,185.164.230.170
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,51.144.107.53
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
117
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_15-00-39.csv
Normal file
117
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-12_15-00-39.csv
Normal file
@@ -0,0 +1,117 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,60:95:32:2d:03:69,1/1/11,9,10.102.9.54
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.36
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW04,00:1b:e0:22:45:52,1/1/30,20,10.101.0.126
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.48
|
||||
NET-SW04,c0:47:0e:44:8f:6c,1/1/3,20,10.101.0.136
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,38:f3:ab:ea:8f:d6,1/1/31,20,10.101.0.73
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,00:07:4d:56:3b:a2,1/1/34,9,10.102.9.55
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.60
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.69
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.21
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,60:95:32:1c:da:40,1/1/20,9,10.102.9.52
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.57
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.78
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW07,ac:b4:80:cd:42:f4,1/1/9,20,10.101.0.86
|
||||
NET-SW07,38:7c:76:d7:b5:6e,1/1/15,20,10.101.0.106
|
||||
NET-SW07,38:7c:76:d7:ac:70,1/1/47,20,10.101.0.62
|
||||
NET-SW07,08:3a:88:6c:de:72,1/1/39,20,10.101.0.139
|
||||
NET-SW08,f4:a8:0d:3d:c1:fb,1/1/17,20,10.101.0.50
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.113
|
||||
NET-SW08,c0:47:0e:93:1e:fe,1/1/25,20,10.101.0.44
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,f4:a8:0d:85:3b:13,1/1/43,20,10.101.0.27
|
||||
NET-SW08,38:7c:76:4a:1f:c7,1/1/29,20,10.101.0.37
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,f4:a8:0d:85:3a:fe,1/1/40,20,10.101.0.80
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,f4:a8:0d:85:3e:2f,1/1/41,20,10.101.0.83
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,f4:a8:0d:5d:7a:2a,1/1/13,20,10.101.0.89
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.26
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW11,f8:5a:00:23:db:15,1/1/31,9,10.102.9.31
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,10.89.233.2
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,185.164.230.170
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,51.144.107.53
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:13:24,1/1/9,20,10.101.0.47
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
125
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-15_07-28-04.csv
Normal file
125
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-15_07-28-04.csv
Normal file
@@ -0,0 +1,125 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,80:6d:97:4a:43:d3,1/1/13,20,10.101.0.48
|
||||
NET-SW01,38:7c:76:d7:67:12,1/1/11,20,10.101.0.27
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.21
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.49
|
||||
NET-SW04,8c:8c:aa:93:19:54,1/1/25,20,10.101.0.30
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,80:6d:97:4a:29:cc,1/1/6,20,10.101.0.62
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.57
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.20
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.60
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.63
|
||||
NET-SW06,04:7b:cb:45:8d:99,1/1/35,20,10.101.0.73
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.72
|
||||
NET-SW07,00:17:c8:c9:ff:67,1/1/25,9,10.102.9.21
|
||||
NET-SW07,38:7c:76:d7:b4:a3,1/1/41,20,10.101.0.64
|
||||
NET-SW07,ac:b4:80:cd:3e:a4,1/1/14,20,10.101.0.59
|
||||
NET-SW07,38:7c:76:d7:13:d0,1/1/21,20,10.101.0.26
|
||||
NET-SW07,f4:a8:0d:6f:a7:7e,1/1/26,20,10.101.0.46
|
||||
NET-SW07,38:7c:76:d7:11:60,1/1/31,20,10.101.0.24
|
||||
NET-SW08,f4:a8:0d:f4:52:96,1/1/4,20,10.101.0.45
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,90:2e:16:fd:19:bb,1/1/20,20,10.101.0.67
|
||||
NET-SW08,84:ba:59:8e:18:e8,1/1/22,20,10.101.0.61
|
||||
NET-SW08,c0:47:0e:93:1e:fe,1/1/26,20,10.101.0.58
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.47
|
||||
NET-SW08,84:ba:59:20:06:d6,1/1/38,20,10.101.0.50
|
||||
NET-SW08,80:6d:97:4a:4f:ac,1/1/33,20,10.101.0.53
|
||||
NET-SW08,f4:a8:0d:3f:21:cc,1/1/14,20,10.101.0.71
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,c0:47:0e:93:1a:93,1/1/40,20,10.101.0.22
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,48:2a:e3:b3:91:94,1/1/25,20,10.101.0.68
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,98:fa:9b:ee:ba:00,1/1/10,20,10.101.0.69
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,c4:ef:bb:e0:35:45,1/1/38,20,10.101.0.70
|
||||
NET-SW09,ac:b4:80:cd:25:54,1/1/37,20,10.101.0.35
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,ac:b4:80:cd:26:12,1/1/31,20,10.101.0.65
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,c4:ef:bb:e0:33:e7,1/1/30,20,10.101.0.66
|
||||
NET-SW09,f4:a8:0d:85:3b:0e,1/1/41,20,10.101.0.42
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.35
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW13,fc:5c:ee:b2:2a:02,1/1/39,20,10.101.0.28
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,185.164.230.170
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,13.69.109.2
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,38:7c:76:d7:36:84,1/1/25,20,10.101.0.134
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:19:5a,1/1/1,20,10.101.0.29
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
127
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-15_07-30-29.csv
Normal file
127
Dev/sw_ip_scan/results/aruba_clients_ALL_2025-12-15_07-30-29.csv
Normal file
@@ -0,0 +1,127 @@
|
||||
switch_name,mac_address,interface,vlan,ip_address
|
||||
NET-SW01,c8:4f:86:9a:a6:50,1/1/3,66,10.102.66.16
|
||||
NET-SW01,80:6d:97:4a:43:d3,1/1/13,20,10.101.0.48
|
||||
NET-SW01,38:7c:76:d7:67:12,1/1/11,20,10.101.0.27
|
||||
NET-SW01,00:17:c8:ec:76:0b,1/1/1,9,10.102.9.37
|
||||
NET-SW01,00:17:c8:99:90:a2,1/1/9,9,10.102.9.29
|
||||
NET-SW01,c8:4f:86:9f:1e:d3,1/1/35,66,10.102.66.7
|
||||
NET-SW01,00:40:9d:4d:4f:7d,1/1/23,20,10.101.0.212
|
||||
NET-SW01,c8:4f:86:9a:b3:43,1/1/6,66,10.102.66.12
|
||||
NET-SW01,00:17:c8:a6:97:f2,1/1/31,9,10.102.9.42
|
||||
NET-SW01,c8:4f:86:9e:e8:0a,1/1/45,66,10.102.66.15
|
||||
NET-SW02,c8:4f:86:88:5b:cc,1/1/44,66,10.102.66.208
|
||||
NET-SW02,00:0d:48:66:e0:5e,1/1/32,97,10.220.1.200
|
||||
NET-SW02,00:17:c8:ea:6e:b4,1/1/14,9,10.102.9.12
|
||||
NET-SW02,00:07:4d:63:75:c8,1/1/25,9,10.102.9.39
|
||||
NET-SW02,7c:5a:1c:e3:7d:ae,1/1/48,66,10.102.66.10
|
||||
NET-SW02,00:17:c8:ea:6e:a2,1/1/19,9,10.102.9.32
|
||||
NET-SW02,38:7c:76:d7:14:6f,1/1/31,20,10.101.0.21
|
||||
NET-SW02,00:17:c8:ea:6e:49,1/1/23,9,10.102.9.33
|
||||
NET-SW02,7c:5a:1c:f0:cd:40,1/1/9,66,10.102.66.19
|
||||
NET-SW02,78:d0:04:36:95:e3,1/1/38,3040,192.168.10.249
|
||||
NET-SW02,7c:5a:1c:f1:28:e4,1/1/7,66,10.102.66.8
|
||||
NET-SW02,7c:5a:1c:f0:bc:84,1/1/5,66,10.102.66.5
|
||||
NET-SW02,7c:5a:1c:f0:bd:1d,1/1/1,66,10.102.66.9
|
||||
NET-SW02,00:04:a3:fb:18:d6,1/1/39,97,10.220.1.120
|
||||
NET-SW02,00:40:9d:4d:ce:01,1/1/41,20,10.101.0.211
|
||||
NET-SW02,60:95:32:2d:74:4c,1/1/21,9,10.102.9.36
|
||||
NET-SW02,00:40:9d:95:91:67,1/1/28,20,10.101.0.213
|
||||
NET-SW04,d8:3a:dd:b9:6d:6e,1/1/28,20,10.101.0.102
|
||||
NET-SW04,08:c3:b3:86:52:60,1/1/26,20,10.101.0.52
|
||||
NET-SW04,c8:4f:86:9a:a6:0c,1/1/22,66,10.102.66.84
|
||||
NET-SW04,6c:24:08:67:44:2f,1/1/11,20,10.101.0.49
|
||||
NET-SW04,8c:8c:aa:93:19:54,1/1/25,20,10.101.0.30
|
||||
NET-SW04,00:17:c8:ec:7b:03,1/1/45,9,10.102.9.16
|
||||
NET-SW04,08:00:27:69:6e:25,1/1/24,20,10.101.0.201
|
||||
NET-SW04,80:6d:97:4a:29:cc,1/1/6,20,10.101.0.62
|
||||
NET-SW04,7c:5a:1c:f1:0b:13,1/1/36,66,10.102.66.25
|
||||
NET-SW04,48:21:0b:34:a2:e4,1/1/10,20,10.101.0.34
|
||||
NET-SW04,fc:4c:ea:d4:1e:26,1/1/14,20,10.101.0.57
|
||||
NET-SW05,00:17:c8:eb:53:95,1/1/5,9,10.102.9.13
|
||||
NET-SW05,c8:4f:86:9e:f0:13,1/1/26,66,10.102.66.6
|
||||
NET-SW05,8c:3b:4a:e9:28:d5,1/1/16,20,10.101.0.20
|
||||
NET-SW05,08:00:27:69:6e:26,1/1/44,20,10.101.0.202
|
||||
NET-SW05,00:1b:99:24:0d:90,1/1/42,20,10.101.0.38
|
||||
NET-SW05,00:0d:27:00:33:47,1/1/22,9,10.102.9.70
|
||||
NET-SW05,38:7c:76:d7:ac:10,1/1/3,20,10.101.0.60
|
||||
NET-SW05,38:7c:76:d3:26:57,1/1/12,20,10.101.0.63
|
||||
NET-SW06,04:7b:cb:45:8d:99,1/1/35,20,10.101.0.73
|
||||
NET-SW06,84:a9:38:7f:55:5a,1/1/38,20,10.89.233.150
|
||||
NET-SW06,8c:3b:4a:37:1f:00,1/1/23,20,10.101.0.72
|
||||
NET-SW07,00:17:c8:c9:ff:67,1/1/25,9,10.102.9.21
|
||||
NET-SW07,38:7c:76:d7:b4:a3,1/1/41,20,10.101.0.64
|
||||
NET-SW07,ac:b4:80:cd:3e:a4,1/1/14,20,10.101.0.59
|
||||
NET-SW07,38:7c:76:d7:13:d0,1/1/21,20,10.101.0.26
|
||||
NET-SW07,f4:a8:0d:6f:a7:7e,1/1/26,20,10.101.0.46
|
||||
NET-SW07,38:7c:76:d7:11:60,1/1/31,20,10.101.0.24
|
||||
NET-SW07,f4:a8:0d:65:7e:74,1/1/12,20,10.101.0.74
|
||||
NET-SW08,f4:a8:0d:f4:52:96,1/1/4,20,10.101.0.45
|
||||
NET-SW08,00:30:59:1f:8f:ae,1/1/45,20,10.101.0.31
|
||||
NET-SW08,90:2e:16:fd:19:bb,1/1/20,20,10.101.0.67
|
||||
NET-SW08,84:ba:59:8e:18:e8,1/1/22,20,10.101.0.61
|
||||
NET-SW08,c0:47:0e:93:1e:fe,1/1/26,20,10.101.0.58
|
||||
NET-SW08,00:2b:67:c8:6f:b5,1/1/39,20,10.101.0.47
|
||||
NET-SW08,84:ba:59:20:06:d6,1/1/38,20,10.101.0.50
|
||||
NET-SW08,80:6d:97:4a:4f:ac,1/1/33,20,10.101.0.53
|
||||
NET-SW08,f4:a8:0d:3f:21:cc,1/1/14,20,10.101.0.71
|
||||
NET-SW08,d4:f0:c9:02:2e:f3,1/1/1,9,10.102.9.34
|
||||
NET-SW08,c0:47:0e:93:1a:93,1/1/40,20,10.101.0.22
|
||||
NET-SW08,00:17:c8:ec:7a:66,1/1/48,9,10.102.9.35
|
||||
NET-SW08,48:2a:e3:b3:91:94,1/1/25,20,10.101.0.68
|
||||
NET-SW09,00:17:c8:ea:fe:db,1/1/29,9,10.102.9.30
|
||||
NET-SW09,98:fa:9b:ee:ba:00,1/1/10,20,10.101.0.69
|
||||
NET-SW09,a4:fc:14:15:f1:e4,1/1/35,20,10.101.0.90
|
||||
NET-SW09,8c:26:aa:d2:fc:de,1/1/8,20,10.101.0.85
|
||||
NET-SW09,44:db:d2:a1:b7:f8,1/1/9,20,10.101.0.32
|
||||
NET-SW09,c4:ef:bb:e0:35:45,1/1/38,20,10.101.0.70
|
||||
NET-SW09,ac:b4:80:cd:25:54,1/1/37,20,10.101.0.35
|
||||
NET-SW09,38:7c:76:49:33:c4,1/1/22,20,10.101.0.111
|
||||
NET-SW09,ac:b4:80:cd:26:12,1/1/31,20,10.101.0.65
|
||||
NET-SW09,24:9a:d8:bd:ed:39,1/1/7,20,10.101.0.33
|
||||
NET-SW09,00:17:c8:80:97:12,1/1/1,9,10.102.9.14
|
||||
NET-SW09,c4:ef:bb:e0:33:e7,1/1/30,20,10.101.0.66
|
||||
NET-SW09,f4:a8:0d:85:3b:0e,1/1/41,20,10.101.0.42
|
||||
NET-SW10,c8:4f:86:88:76:ba,1/1/25,66,10.102.66.17
|
||||
NET-SW10,00:08:7b:25:db:8c,1/1/28,20,10.101.0.124
|
||||
NET-SW10,8c:3b:4a:37:22:1f,1/1/6,20,10.101.0.25
|
||||
NET-SW10,ec:50:aa:88:bc:c0,1/1/36,97,10.220.1.98
|
||||
NET-SW10,c8:4f:86:88:c6:20,1/1/27,66,10.102.66.21
|
||||
NET-SW10,08:94:ef:f1:33:73,1/1/4,10,10.102.1.9
|
||||
NET-SW10,00:0e:11:17:45:0b,1/1/2,10,10.102.1.13
|
||||
NET-SW10,00:c0:eb:1c:3d:42,1/1/38,10,10.102.1.117
|
||||
NET-SW10,8c:3b:4a:37:1e:c5,1/1/10,20,10.101.0.95
|
||||
NET-SW10,00:90:8f:da:6e:7e,1/1/40,20,10.101.0.110
|
||||
NET-SW10,00:f1:f3:21:f2:7c,1/1/48,10,172.17.11.35
|
||||
NET-SW10,08:00:27:69:a3:4b,1/1/37,20,10.101.0.203
|
||||
NET-SW10,c8:4f:86:9a:a6:2e,1/1/35,66,10.102.66.20
|
||||
NET-SW10,8c:3b:4a:37:55:99,1/1/8,20,10.101.0.96
|
||||
NET-SW11,c8:4f:86:9a:b3:a9,1/1/5,66,10.102.66.28
|
||||
NET-SW11,00:40:9d:c8:ce:00,1/1/30,20,10.101.0.210
|
||||
NET-SW11,00:08:7b:25:dd:f3,1/1/36,20,10.101.0.97
|
||||
NET-SW11,08:00:27:69:a3:4c,1/1/9,20,10.101.0.204
|
||||
NET-SW11,d4:f0:c9:02:34:1f,1/1/3,9,10.102.9.15
|
||||
NET-SW11,00:17:c8:ea:6d:b6,1/1/29,9,10.102.9.19
|
||||
NET-SW11,c8:4f:86:9a:d8:1e,1/1/7,66,10.102.66.29
|
||||
NET-SW11,00:04:a3:fb:19:f1,1/1/28,97,10.220.1.121
|
||||
NET-SW11,38:7c:76:d7:b6:dd,1/1/23,20,10.101.0.56
|
||||
NET-SW11,38:7c:76:d7:ab:8f,1/1/32,20,10.101.0.55
|
||||
NET-SW11,38:7c:76:d7:ab:c8,1/1/13,20,10.101.0.54
|
||||
NET-SW13,fc:5c:ee:b2:2a:02,1/1/39,20,10.101.0.28
|
||||
NET-SW13,00:17:c8:ea:e4:b1,1/1/29,9,10.102.9.69
|
||||
NET-SW16,94:ff:3c:e7:36:82,1/1/10,203,172.30.20.10
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.1.9
|
||||
NET-SW16,00:f1:f3:21:f2:92,1/1/2,200,169.254.253.3
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,169.254.253.2
|
||||
NET-SW16,00:f1:f3:21:f2:7a,1/1/3,200,185.164.230.170
|
||||
NET-SW16,e4:30:22:6f:6c:5d,1/1/15,204,172.20.38.10
|
||||
NET-SW16,c8:4f:86:fc:00:04,1/1/13,204,168.126.63.1
|
||||
NET-SW16,b0:0a:d5:62:88:01,1/1/1,200,169.254.253.1
|
||||
NET-SW16,c8:4f:86:fc:00:05,1/1/11,203,13.69.109.2
|
||||
NET-SW17,00:08:7b:25:df:3e,1/1/11,20,10.101.0.98
|
||||
NET-SW17,00:08:7b:25:dd:ee,1/1/16,20,10.101.0.99
|
||||
NET-SW17,c8:4f:86:89:47:2c,1/1/10,66,10.102.66.72
|
||||
NET-SW17,38:7c:76:d7:36:84,1/1/25,20,10.101.0.134
|
||||
NET-SW17,00:17:c8:ec:7a:af,1/1/23,9,10.102.9.7
|
||||
NET-SW17,f8:1c:e5:10:13:cb,1/1/14,20,10.101.0.216
|
||||
NET-SW17,8c:3b:4a:37:19:5a,1/1/1,20,10.101.0.29
|
||||
NET-SW17,00:17:c8:cd:1a:83,1/1/5,9,10.102.9.60
|
||||
|
20
Dev/sw_ip_scann_CSV/Dockerfile
Normal file
20
Dev/sw_ip_scann_CSV/Dockerfile
Normal file
@@ -0,0 +1,20 @@
|
||||
# Hivatalos Python futtatókörnyezet használata alapként
|
||||
FROM python:3.11-slim
|
||||
|
||||
# Munkakönyvtár beállítása a konténerben
|
||||
WORKDIR /app
|
||||
|
||||
# A requirements.txt fájl másolása a konténerbe
|
||||
COPY requirements.txt .
|
||||
|
||||
# A requirements.txt-ben meghatározott csomagok telepítése
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# A Python script másolása a konténerbe
|
||||
COPY get_aruba_clients.py .
|
||||
|
||||
# A config.json másolása a konténerbe
|
||||
COPY config.json .
|
||||
|
||||
# A script futtatása a konténer indításakor
|
||||
CMD ["python3", "get_aruba_clients.py"]
|
||||
19
Dev/sw_ip_scann_CSV/config.json
Normal file
19
Dev/sw_ip_scann_CSV/config.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"network": {
|
||||
"subnet": "10.101.0.0/24",
|
||||
"auto_detect": false
|
||||
},
|
||||
"scanning": {
|
||||
"ping_timeout": 0.3,
|
||||
"ping_delay": 0.001,
|
||||
"max_threads": 10
|
||||
},
|
||||
"database": {
|
||||
"devices_file": "known_devices.json"
|
||||
},
|
||||
"logging": {
|
||||
"enabled": true,
|
||||
"log_file": "network_scanner.log",
|
||||
"log_level": "INFO"
|
||||
}
|
||||
}
|
||||
167
Dev/sw_ip_scann_CSV/get_aruba_clients.py
Normal file
167
Dev/sw_ip_scann_CSV/get_aruba_clients.py
Normal file
@@ -0,0 +1,167 @@
|
||||
import os
|
||||
import re
|
||||
import csv
|
||||
from datetime import datetime
|
||||
|
||||
from netmiko import ConnectHandler
|
||||
from netmiko.exceptions import NetmikoTimeoutException, NetmikoAuthenticationException
|
||||
|
||||
def get_aruba_clients(host, username, password):
|
||||
"""
|
||||
Connects to an Aruba switch via SSH, gets hostname and client info,
|
||||
and returns a list of dictionaries, each representing a client.
|
||||
"""
|
||||
device = {
|
||||
'device_type': 'aruba_aoscx',
|
||||
'host': host,
|
||||
'username': username,
|
||||
'password': password,
|
||||
}
|
||||
|
||||
all_clients_data = []
|
||||
print(f"Csatlakozás a(z) {host} eszközhöz...")
|
||||
try:
|
||||
with ConnectHandler(**device) as net_connect:
|
||||
print("Sikeres csatlakozás. Adatok lekérdezése...")
|
||||
|
||||
prompt = net_connect.find_prompt()
|
||||
switch_hostname = prompt.strip('#> ')
|
||||
|
||||
output = net_connect.send_command('show client ip')
|
||||
ip_pattern = re.compile(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$')
|
||||
|
||||
if isinstance(output, str):
|
||||
lines = output.splitlines()
|
||||
for line in lines[2:]:
|
||||
columns = line.split()
|
||||
if len(columns) >= 4:
|
||||
potential_ip = columns[-1]
|
||||
if ip_pattern.match(potential_ip):
|
||||
client_data = {
|
||||
'switch_name': switch_hostname,
|
||||
'mac_address': columns[0],
|
||||
'interface': columns[1],
|
||||
'vlan': columns[2],
|
||||
'ip_address': potential_ip,
|
||||
}
|
||||
all_clients_data.append(client_data)
|
||||
return all_clients_data
|
||||
|
||||
print("Hiba: A parancs kimenete nem volt a várt formátumban.")
|
||||
return None
|
||||
|
||||
except NetmikoTimeoutException:
|
||||
print(f"Hiba: Időtúllépés a(z) {host} eszközhöz való csatlakozáskor.")
|
||||
return None
|
||||
except NetmikoAuthenticationException:
|
||||
print(f"Hiba: Sikertelen hitelesítés a(z) {host} eszközön. Ellenőrizd a jelszót.")
|
||||
return None
|
||||
except Exception as e:
|
||||
print(f"Váratlan hiba történt: {e}")
|
||||
return None
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
# --- IDE DEFINIÁLD A SWITCH-EK IP CÍMEIT ---
|
||||
|
||||
SWITCH_IPS = [
|
||||
|
||||
"10.220.1.84", # NET-SW01
|
||||
"10.220.1.85", # NET-SW02
|
||||
"10.220.1.86", # NET-SW04
|
||||
"10.220.1.87", # NET-SW05
|
||||
"10.220.1.88", # NET-SW06
|
||||
"10.220.1.89", # NET-SW01 - Core
|
||||
"10.220.1.90", # NET-SW07
|
||||
"10.220.1.91", # NET-SW08
|
||||
"10.220.1.92", # NET-SW09
|
||||
"10.220.1.93", # NET-SW10
|
||||
"10.220.1.94", # NET-SW11
|
||||
"10.220.1.96", # NET-SW13
|
||||
"10.220.1.98", # NET-SW16 - HA
|
||||
"10.220.1.99", # NET-SW17
|
||||
|
||||
]
|
||||
|
||||
USERNAME = os.getenv('ARUBA_USER', 'svc.operator') # Felhasználónév környezeti változóból, alapértelmezett értékkel
|
||||
if not USERNAME:
|
||||
print("Hiba: Az ARUBA_USER környezeti változó nincs beállítva.")
|
||||
exit()
|
||||
|
||||
|
||||
|
||||
# A kimeneti mappa a konténeren belül
|
||||
|
||||
OUTPUT_DIR = "/data"
|
||||
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
|
||||
|
||||
CSV_FILENAME = os.path.join(OUTPUT_DIR, f"aruba_clients_ALL_{timestamp}.csv")
|
||||
|
||||
|
||||
|
||||
|
||||
PASSWORD = os.getenv('ARUBA_PASSWORD')
|
||||
if not PASSWORD:
|
||||
print("Hiba: Az ARUBA_PASSWORD környezeti változó nincs beállítva.")
|
||||
exit()
|
||||
|
||||
|
||||
|
||||
all_switches_clients = []
|
||||
|
||||
|
||||
|
||||
for ip in SWITCH_IPS:
|
||||
|
||||
print(f"\n--- Feldolgozás: {ip} ---")
|
||||
|
||||
clients_from_one_switch = get_aruba_clients(ip, USERNAME, PASSWORD)
|
||||
|
||||
if clients_from_one_switch:
|
||||
|
||||
all_switches_clients.extend(clients_from_one_switch)
|
||||
|
||||
print(f"Sikeresen lekérdezve {len(clients_from_one_switch)} kliens a(z) {ip} switch-ről.")
|
||||
|
||||
else:
|
||||
|
||||
print(f"Nem sikerült adatot lekérdezni a(z) {ip} switch-ről.")
|
||||
|
||||
|
||||
|
||||
if all_switches_clients:
|
||||
|
||||
print(f"\nÖsszesen {len(all_switches_clients)} kliens adat gyűjtve. Mentés a(z) {CSV_FILENAME} fájlba...")
|
||||
|
||||
|
||||
|
||||
fieldnames = all_switches_clients[0].keys()
|
||||
|
||||
|
||||
|
||||
try:
|
||||
|
||||
# Biztosítjuk, hogy a kimeneti mappa létezzen
|
||||
|
||||
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
||||
|
||||
with open(CSV_FILENAME, 'w', newline='', encoding='utf-8') as csvfile:
|
||||
|
||||
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
||||
|
||||
writer.writeheader()
|
||||
|
||||
writer.writerows(all_switches_clients)
|
||||
|
||||
print(f"Sikeres mentés a(z) '{CSV_FILENAME}' fájlba.")
|
||||
|
||||
except IOError as e:
|
||||
|
||||
print(f"Hiba történt a CSV fájl írása közben: {e}")
|
||||
|
||||
|
||||
|
||||
else:
|
||||
|
||||
print("\nEgyetlen switch-ről sem sikerült adatot gyűjteni.")
|
||||
36
Dev/sw_ip_scann_CSV/howto.md
Normal file
36
Dev/sw_ip_scann_CSV/howto.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# How-to: switch_ip_scann_csv Docker Image
|
||||
|
||||
Ez a dokumentum leírja, hogyan kell használni a `switch_ip_scann_csv` Docker image-et.
|
||||
|
||||
## Környezeti Változók
|
||||
|
||||
A Docker image a következő környezeti változókat használja:
|
||||
|
||||
- `ARUBA_USER`: (Opcionális) A switch-ekhez való csatlakozáshoz használt felhasználónév.
|
||||
- Alapértelmezett érték: `svc.operator`
|
||||
- `ARUBA_PASSWORD`: (Kötelező) A switch-ekhez való csatlakozáshoz használt jelszó.
|
||||
|
||||
## Futtatás
|
||||
|
||||
A konténer futtatásához használja a következő parancsot:
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name switch_ip_scann_csv \
|
||||
-e ARUBA_USER="az_on_felhasznaloneve" \
|
||||
-e ARUBA_PASSWORD="az_on_jelszava" \
|
||||
-v /eleresi/ut/a/hoston:/data \
|
||||
switch_ip_scann_csv
|
||||
```
|
||||
|
||||
### Magyarázat:
|
||||
|
||||
- `-d`: A konténer háttérben fut.
|
||||
- `--name switch_ip_scann_csv`: A konténer neve.
|
||||
- `-e ARUBA_USER="..."`: Beállítja a felhasználónevet. Ha nem adja meg, az alapértelmezett `svc.operator` lesz használva.
|
||||
- `-e ARUBA_PASSWORD="..."`: Beállítja a jelszót. Ezt kötelező megadni.
|
||||
- `-v /eleresi/ut/a/hoston:/data`: Csatol egy kötetet a konténer `/data` könyvtárához. A kimeneti CSV fájlok a `/eleresi/ut/a/hoston` könyvtárban lesznek megtalálhatók a gazda gépen.
|
||||
|
||||
## Switch IP Címek
|
||||
|
||||
Jelenleg a switch-ek IP címei a `get_aruba_clients.py` szkriptben vannak rögzítve. A jövőben javasolt a szkript módosítása, hogy a switch-ek IP címeit egy környezeti változóból (pl. `SWITCH_IPS`, vesszővel elválasztva) olvassa be.
|
||||
1
Dev/sw_ip_scann_CSV/requirements.txt
Normal file
1
Dev/sw_ip_scann_CSV/requirements.txt
Normal file
@@ -0,0 +1 @@
|
||||
netmiko
|
||||
Reference in New Issue
Block a user