Чтобы получить Mac адрес виндовой машины с машины с ОС FreeBSD ( на Linux возможно также, не проверял ) необходимо пропинговать IP адрес :
$ ping -c1 192.168.255.104 PING 192.168.255.104 (192.168.255.104): 56 data bytes 64 bytes from 192.168.255.104: icmp_seq=0 ttl=64 time=1.135 ms 192.168.255.104 ping statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 1.135/1.135/1.135/0.000 ms
и поглядеть его в ARP таблице:
arp 192.168.255.104 | awk -F "at" $'{print$2}' | awk -F "on" $'{print$1}'
90:e6:ba:a0:2a:27
Также можно узнать NetBIOS имя компьютера вот такой командой:
nmblookup -A 192.168.255.104 | awk -F 'Looking up' '{print$1}' | awk -F '<00>' '{print$1}' | sed '2!d'
SHADOW
Собственно скрипт,который запишет в файл ip.txt соответсвия IP, MAC адресов и NetBIOS имен тех компьютеров,которые находяться в сети и ответили на ping
#!/bin/sh
for IP in $(seq 254)
do
ping -c1 192.168.255.$IP
MAC=`arp 192.168.255.$IP | awk -F "at" $'{print$2}' | awk -F "on" $'{print$1}'`
NAME=`nmblookup -A 192.168.255.$IP | awk -F 'Looking up' '{print$1}' | awk -F '<00>' '{print$1}' | sed '2!d'`
if [ ${MAC} != "(incomplete)" ]
then
echo 192.168.255.$IP ${MAC} ${NAME} >> ip.txt
fi
done
Источник deathstar.name
RSS & RSS to Email