Dec 11, 2008 01:20
...
for a in `seq $2 1 $3` ; do arp -d $1.$a &> /dev/null ; ping -c 1 -W 1 $1.$a &> /dev/null ; arp -n $1.$a | egrep -o -Z '00:[1234567890ABCDEF:]+' | xargs echo -n && echo -n -- &&arp -n $1.$a | egrep -o '^[1234567890\.]+' ;done
...
Блин, спросили меня, называется, как мак адрес узнать, ага.
ыть
Leave a comment
Comments 3
cmd
getmac /v
ну или
cmd
ipconfig /all
Что-то я не очень верю, что в лине такую простую операцию сделать не так же просто.
Reply
во-вторых сбросить arp кеш чтобы не словить устаревшие данные, и обновить данные по каждому айпишнику.
в третьих - нужные команды выводят достаточно много мусора - во всяком случае ночью на коленке и наполовину головой на подушке я не нашел в синтаксисе способа упростить их вывод, а мне хотелось сделать его красивше - так что половина строки урезает вывод команд.
Опять же:
<некто умный> это можно переписать короче/понятнее/проще
<некто умный> [1234567890ABCDEF:] => [0-9A-F:]
<некто умный> заместо $1.$a сделай переменную ip
<некто умный> seq $2 1 $3 => seq $2 $3
<некто умный> а вообще, для этих целей есть nmap
<некто умный> 00:[1234567890ABCDEF:]+ => 00:[[:xdigit:]:]+
Reply
Reply
Leave a comment