Submitted by Erik Wegner
on
Body
Mit dem folgenden Script wird ein IP-Bereich geprüft, ob die IP-Adresse im DNS bekannt ist und welche MAC-Adresse ein Host hat. Zur Ausführung sind root-Rechte (für arp) erforderlich.
#!/bin/bash echo "IP-Adresse,Hostname,MAC" for (( a=16 ; a < 24 ; a++ )) ; do for (( b = 1 ; b < 255 ; b++ )) ; do IP="17.121.${a}.${b}" echo -n "${IP}" DNSNAME=$(host ${IP} | cut -f 5 -d " ") if [[ ${DNSNAME} = '3(NXDOMAIN)' ]] ; then DNSNAME="" fi ping -c 2 ${IP} >/dev/null MAC=$(arp ${IP} | tail -n 1 | gawk '{print $3}') if [[ ${MAC} = 'eth0' ]] ; then MAC="" fi echo ",${DNSNAME},${MAC}" done done