Portál AbcLinuxu, 27. dubna 2024 02:20


Dotaz: Zjisteni MAC adresy

12.7.2005 08:04 Petr
Zjisteni MAC adresy
Přečteno: 465×
Odpovědět | Admin
Ahoj, Potreboval bych zjistit aktualni platnou MAC adresu k IP aniz bych na ni musel prvne napr pingnout a potom ji vytahnout z cache. Je nejakej programek, kterej vysle dotaz a zobrazi jeho vysledek na std. vystup ? Diky
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.7.2005 08:18 martin
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
arping
12.7.2005 08:38 Petr
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy
Ten jsem zkousel, ale moc na me nereagoval.... (a pise mi ze funguje presne naopak....)
12.7.2005 08:51 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy

arping ale funguje přesně tak, jak potřebujete - send ARP REQUEST to a neighbour host. Asi něco děláte blbě:

# /sbin/arping -I eth0 192.168.0.1
ARPING 192.168.0.1 from 192.168.0.23 eth0
Unicast reply from 192.168.0.1 [00:E0:4C:7B:72:A6]  0.993ms
Unicast reply from 192.168.0.1 [00:E0:4C:7B:72:A6]  0.727ms
^C
Sent 2 probes (1 broadcast(s))
Received 2 response(s)
# 
12.7.2005 08:51 vampi | skóre: 16 | blog: JenTakBlog
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy
no nevím, mě funguje přesně: arping -I eth1 -f xxx.xxx.xxx.xxx - výstup stačí jen trošku zformátovat :)
cesta k dokonalosti je nekonečná - proto hledám jen jednoduchá funkční řešení :)
12.7.2005 10:45 Petr
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy
V tom pripade se ten muj chova nejak obnormalne blbe.... :o( Zkusim jeste jesnou prelouskat man, ale na ty vase prikazy mi to nefunguje...
12.7.2005 11:54 vampi | skóre: 16 | blog: JenTakBlog
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy
můžete se když tak napsat, co Vám výše uvedený příkaz vrátí? :)
cesta k dokonalosti je nekonečná - proto hledám jen jednoduchá funkční řešení :)
12.7.2005 14:06 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy
a nepokusas sa nahodou arpingovat masinu mimo lokalnej siete ? :)
Dalibor Smolík avatar 12.7.2005 10:01 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevím, zda to nelze takto
server# ifconfig
eth0 Zapouzdření:Ethernet HWadr 00:51:FC:F3:F6:43
pokud ne tak mne opravte
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
12.7.2005 11:41 Martin Beránek | skóre: 33 | blog: mousehouse | Brno
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy
a jak takhle zjistite mac adresu stroje, na kterem nemate ucet a ktery bezi treba na win? rekl bych ze tohle asi autor nechtel...
never use rm after eight
Lachmex avatar 16.7.2005 20:18 Lachmex | skóre: 11
Rozbalit Rozbalit vše Re: Zjisteni MAC adresy
a co toto ("scanuje" rozsah a zobrazi IP,MAC,DNS... Jo a pridat do do PHP nebo CGI take bezi :) ):
#!/bin/bash

if [ -z "$1" -o "$1" == "-?" ] ; then
echo "Uziti: scanmac pocatecni_ip [konecna_ip] [-excel]"
echo
echo "Zjisti IP, MAC a DNS jmeno aktivnich zarizeni v uvedenem rozsahu"
echo
echo "Pouzijete-li volbu -excel budou vypsany hodnoty pripravene pro import do Excelu"
echo

exit 0
fi

startw=$(echo "$1" | cut -d. -f1)
startx=$(echo "$1" | cut -d. -f2)
starty=$(echo "$1" | cut -d. -f3)
startz=$(echo "$1" | cut -d. -f4)

if [ "$3" != "-excel" ] ; then
echo "Pocatecni IP adresa: $startw.$startx.$starty.$startz"
else
echo "IP;MAC;DNS"
fi

endip="$2"

if [ -z "$endip" ] ; then
if [ $startz -eq 255 ] ; then
endz=0

if [ $starty -eq 255 ] ; then
endy=0

if [ $startx -eq 255 ] ; then
endx=0

if [ $startw -eq 255 ] ; then
echo "To jako mam oscanovat 255.255.255.255. ???"
echo "Broadcast? Co? to nezam..."

exit 1
else
endw=$(($startw+1))
fi
else
endx=$(($startx+1))
fi
else
endy=$(($starty+1))
fi
else
endz=$(($startz+1))
fi

endip=$endw.$endx.$endy.$endz
fi

if [ "$3" != "-excel" ] ; then
echo "Konecna IP adresa: $endip"
fi

currentw=$startw
currentx=$startx
currenty=$starty
currentz=$startz

currentip=$currentw.$currentx.$currenty.$currentz

if [ "$3" != "-excel" ] ; then
if [ "$currentz" -ne "0" ] ; then
echo "$(date): $currentip"
fi
fi
trap "exit 15" 15
trap "exit 2" 2

while [ "$currentip" != "$endip" ] ; do
currentip=$currentw.$currentx.$currenty.$currentz

if [ "$currentz" -eq "0" ] ; then
echo "$(date): $currentip"
fi

ping -c 1 -w 10 $currentip >/dev/null 2>&1

mac=$(arp -a $currentip | cut -d' ' -f4)

case "$mac" in
?incomplete?)
: # do nothing -- no MAC for this IP
;;
entries)
: # again, do nothing -- this is a broadcast address
;;
*)
if [ "$3" == "-excel" ] ; then
echo "$currentip;$mac;$(/usr/bin/resolveip -s $currentip)"
else
echo "IP: $currentip -- MAC: $mac -- Name: $(/usr/bin/resolveip -s $currentip)"
fi
;;
esac

mac=""

if [ $currentz -eq 255 ] ; then
currentz=0
else
currentz=$(($currentz+1))
continue
fi

if [ $currenty -eq 255 ] ; then
currenty=0
else
currenty=$(($currenty+1))
continue
fi

if [ $currentx -eq 255 ] ; then
currentx=0
else
currentx=$(($currentx+1))
continue
fi

if [ $currentw -eq 255 ] ; then
break
else
currentz=$(($currentz+1))
continue
fi
done

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.