Bash script para obtener MAC en un rango IP

creando esta semana algunas politicas de los servidores en esta oportunidad tanto proxy, dhcp como firewall me vi en la necesidad de hacer un inventario de las mac address de cada una de las redes existente en el edificio.. escribir este pequeño bash que haciendo ping a cada ip dentro de un rango, hace tambien una consulta arp para captura la mac y las almacena en un archivo de texto plano en el directorio donde se ejecuta.

#!/bin/bash

for i in `seq 1 30`; do ping -c 1 10.0.10.$i; arp -n 10.0.10.$i | grep -v Address | grep -v incomplete | awk ‘{print $1, $3}’ >> ip-mac.txt; done

lo guardo el bash bajo un nombre.sh en mi caso lo llame iparpmac.sh

le damos privilegios de ejecucion con chmod +x iparpmac.sh y lo corremos

./iparpmac.sh

El resultado segun el programa _seq_ que defino en la primera linea y la unica`seq 1 30` me dice quede átoda la red me capturará 30 direcciones ip, esto lo pueden adaptar segun las necesidad o la netmask de la red en donde de implemente.

El propocito inicial en mi caso fue para crear las ACL para el DNS y mayormente para proxy en  squid haciendo filtrado por MAC address mediante ACL’s.

tengo script q tambien crea las ACL para el squid.. pronto estaré actualizando el post..

Advertisement

Acerca de jjedixdefault

geek by default
Esta entrada fue publicada en Bash, Configuraciones, PlanetaLinux, planetaunplug. Guarda el enlace permanente.

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s