Perl. Универсальный способ определения MAC адреса .
От: Stas_Dragon Россия  
Дата: 22.01.04 17:36
Оценка:
Есть ли универсальный спосб на языке Perl определение MAC адреса по IP адресу работающий и под Unix и под NT. ?

Зарание все биг спасибо!
Re: Perl. Универсальный способ определения MAC адреса .
От: anonymous Россия http://denis.ibaev.name/
Дата: 22.01.04 19:40
Оценка: 2 (1)
Здравствуйте, Stas_Dragon, Вы писали:

S_D>Есть ли универсальный спосб на языке Perl определение MAC адреса по IP адресу работающий и под Unix и под NT. ?


S_D>Зарание все биг спасибо!


возможно пути к утилитам проидется прописать...
#!/usr/bin/perl

# код для Linux: Davor Ocelic, docelic+linux.hr
# код для Win: мой

print ip2mac('192.168.1.2');

sub ip2mac {
    local $_ = shift;
    $_ = quotemeta();
    my $result;
    if ($^O eq "linux") {
        chomp($result = `ping -c 1 $_ | arp -a | grep $_ | awk '{print \$4}'`);
    }
    elsif ($^O eq "MSWin32") {
        chomp($result = `ping -n 1 $_ | arp -a | grep $_ -o+`);
        $result = (split(/\s+/, $result))[2];
    }
    return $result;
}


к сожалению не нашел как c cmd сделать что либо подобное awk...
Re[2]: Perl. Универсальный способ определения MAC адреса .
От: Stas_Dragon Россия  
Дата: 22.01.04 20:12
Оценка:
большое спасибо !
Я все понял кроме одного если не трудно поясните плиз зачем нужна строчка
$_ = quotemeta();
и какую функцию она несет ?
А то я почитал хелпу по этой функции и все ранво не догнал
Re[3]: Perl. Универсальный способ определения MAC адреса .
От: anonymous Россия http://denis.ibaev.name/
Дата: 22.01.04 20:31
Оценка:
Здравствуйте, Stas_Dragon, Вы писали:

S_D>большое спасибо !

S_D>Я все понял кроме одного если не трудно поясните плиз зачем нужна строчка
S_D>$_ = quotemeta();
S_D>и какую функцию она несет ?
S_D>А то я почитал хелпу по этой функции и все ранво не догнал

она обратные слэши ставит перед неалфавитно-цифровыми символами...
алфавитно-цифровые символы: [A-Za-z_0-9]
Re[4]: Perl. Универсальный способ определения MAC адреса .
От: Stas_Dragon Россия  
Дата: 22.01.04 20:46
Оценка:
A>она обратные слэши ставит перед неалфавитно-цифровыми символами...
A>алфавитно-цифровые символы: [A-Za-z_0-9]

Извените меня, что я не особо быстро догоняю . Еще один маленький вопрос зачем это надо в общем случае и в выше приведенном коде ?
Re[5]: Perl. Универсальный способ определения MAC адреса .
От: anonymous Россия http://denis.ibaev.name/
Дата: 23.01.04 06:49
Оценка:
Здравствуйте, Stas_Dragon, Вы писали:


A>>она обратные слэши ставит перед неалфавитно-цифровыми символами...

A>>алфавитно-цифровые символы: [A-Za-z_0-9]

S_D>Извените меня, что я не особо быстро догоняю . Еще один маленький вопрос зачем это надо в общем случае и в выше приведенном коде ?


можно и без этого... просто так grep более точно отработает... ему IP будет передан в виде регулярного выражения, например: 192\.168\.1\.1
Re[6]: Perl. Универсальный способ определения MAC адреса .
От: Stas_Dragon Россия  
Дата: 23.01.04 13:10
Оценка:
Здравствуйте, anonymous, Вы писали:


A>можно и без этого... просто так grep более точно отработает... ему IP будет передан в виде регулярного выражения, например: 192\.168\.1\.1


Большое спасибо за разяснение. Теперь все ясно
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.