ProjectKevin/pruebas.py

32 lines
970 B
Python

import socket
import ipaddress
import nmap
import time
import threading
def get_network_range():
# Obtener la IP local
hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)
# Suponemos una máscara de red /24
network = ipaddress.ip_network(f"{local_ip}/24", strict=False)
return str(network)
def scan_network(ip_range):
# Crear un escáner Nmap
nm = nmap.PortScanner()
print(f"Escaneando la red {ip_range}...")
nm.scan(hosts=ip_range, arguments='-sn')
devices = []
for host in nm.all_hosts():
if nm[host].state() == "up":
mac = nm[host]['addresses'].get('mac', 'No MAC address found')
devices.append({'ip': nm[host]['addresses']['ipv4'], 'mac': mac})
return devices
network_range = get_network_range()
devices = scan_network(network_range)
# Mostrar resultados
for device in devices:
print(f"IP: {device['ip']}, MAC: {device['mac']}")