Решая задачку раздачи инета на второй комп, наткнулся на необходимость получения IP адреса по MAC. Сначала использовал какой-то скрипт на вижуалбейсике, но при даунгрейде Windows XP до Windows 2000 способ отвалился. Тогда я плюнул на тот скрипт и пару bat-ников обвязки и соединил всё в скрипт на Ruby
Собственно имеем:
Комп с линухом и сквидом, раздающий инет. Внутренний IP — динамический
Комп с Windows, на котором нужен инет. IP — динамический, подсеть та же
Нежелание свзяваться с роутером, чтобы избавиться от этого безобразия =)
Наш алгоритм
Пингуем всю подсеть (да, в винде пинг не умеет броадкасты)
#!/usr/bin/rubyrequire'date'puts"Enter your birthdate (YYYY-MM-DD):"birth=Date.parse(gets,true)today=Date.todayage=today-birth# in daysmin_age=(2*(age-7*365.25)).roundmax_age=(age/2+7*365.25).roundmin_birth=Date.today-min_agemax_birth=Date.today-max_ageputs"Your age pool is #{min_birth.to_s} - #{max_birth.to_s}"puts"You're too young ^__^"ifmin_birth>max_birth