Вредоносное ПО (malware) - это назойливые или опасные программы,...
![Лучшие утилиты для удаления вирусов и вредоносных программ](https://i2.wp.com/webhelper.info/images/danger.jpg)
Можно выделить два основных класса вероятностных языков программирования – это языки, допускающие задание генеративных моделей только в форме Байесовских сетей (или других графических вероятностных моделей), или Тьюринг-полные языки.
Типичным представителем первых является Infer.NET, разрабатываемый в Microsoft. В нем благодаря использованию в качестве генеративных моделей Байесовких сетей оказывается возможным применять известные для них эффективные методы вывода. Естественно, использование хорошо известного класса моделей с известными методами вывода не приводит к возможности решения каких-то принципиально новых задач (и даже такие генеративные модели, как сети глубокого обучения на основе ограниченных машинах Больцмана оказываются не представимы в таких языках), но дает вполне практичный инструмент. Как говорят разработчики, с использованием этого инструмента можно за пару часов реализовать нетривиальную вероятностную модель, такую как полная Байесовская версия анализа главных компонент, которая будет занимать всего пару десятков строк кода и для которой отдельная реализация эффективной процедуры вывода на обычном языке потребовала бы заметно большего объема знаний и нескольких недель работы. Таким образом, за счет вероятностного программирования использование графических моделей становится гораздо более простым и доступным.
Гораздо большим потенциалом, однако, обладают Тьюринг-полные вероятностные языки. Они позволяют выйти за рамки того класса задач, которые существующие методы машинного обучения уже умеют решать. Естественно, в таких языках возникает проблема эффективности вывода, которая пока далека от решения, что приводит к плохой масштабируемости на задачи реального мира. Однако это направление активно развивается, и существует ряд работ, показывающих как в вероятностных языках общего назначения достичь эффективного вывода для интересных практических задач. Можно надеяться, что в ближайшем будущем эти решения станут доступными для использования в конкретных языках. Кроме того, Тьюринг-полные вероятностные языки уже сейчас оказываются весьма полезными в исследованиях, связанных с когнитивным моделированием и общим искусственным интеллектом. По этим причинам мы и рассмотрим основные принципы вероятностного программирования именно на примере Тьюринг-полных языков, из которых мы выбрали Чёрч (Church), являющийся расширением языка Лисп (конкретнее, его диалекта – Scheme). Удобство этого языка (по крайней мере, в целях начального знакомства с ним) заключается в существовании для него web-реализации (web-church), с которой можно экспериментировать без установки дополнительного программного обеспечения.
Программа на вероятностном языке может, на первый взгляд, ничем не отличаться от программы на обычном языке. Именно так сделано в Чёрче. Как и в обычном Лиспе, в этом языке могут быть определены переменные, функции, выполнены детерминированные вычисления. Например, следующая программа задает функцию от одного аргумента, вычисляющую факториал по рекурсивной формуле n!=n*(n–1)!, и вызывает эту функцию для n=10
(define (f n)
(if (= n 0) 1 (* n (f (– n 1)))))
(f 10)
Также в этом языке могут быть обращения к (псевдо)случайным функциям. Например, при выполнении вызова (flip 0.3) с вероятностью 0.3 будет возвращено значение #t, а с вероятностью 0.7 – #f. Такая функция элементарно реализуется и в Лиспе как
Однако помимо обычной семантики программа на Чёрче обладает вероятностной семантикой, в рамках которой полагается, что программа, содержащая вызовы случайных функций, не просто при своем запуске порождает какие-то конкретные значения случайных величин, но задает распределение вероятностей над ними. Так, (gaussian x0 s) – это не просто функция, возвращающая некоторое конкретное значение случайной величины, распределенной по гауссиане, но именно само Гауссово распределение.
Но как получать эти распределения вероятностей, задаваемые программой? Представим, например, программу
Однако современные вероятностные языки идут дальше и добавляют в процесс сэмплирования условие, накладываемое на результаты выполнения программы. Эта идея ведет к простейшему сэмплированию с отказами, которая в Чёрче реализуется функцией rejection-query. Эта функция на вход принимает вероятностную программу (как совокупность define), предпоследнее выражение в которой вычисляет возвращаемое значение, а последнее выражение – это условие (предикат), который в процессе выполнения должен оказаться истинным. Рассмотрим программу
rejection-query выполняет поданную ей программу до тех пор, пока не будет выполнено последнее условие – здесь (or A B) – и возвращает (один раз) значение предпоследнего выражения – здесь B. Чтобы получить выборку значений, можно воспользоваться функцией repeat. Также Чёрч имеет встроенные функции для построения гистограмм. Рассмотрим немного расширенную программу:
При запуске мы получим следующий результат: #f — 21%, #t — 79% (цифры от запуска к запуску могут немного меняться). Этот результат означает, что значение B равно #t с вероятностью чуть меньше 0.8. Откуда взялась эта вероятность, если в программе B – это бинарная случайная величина, для которой P(#t)=0.6? Очевидно, дело в наложении условия: (or A B). В процессе сэмплирования мы принимаем только такие значения B, что верно или A, или само B. Фактически, мы считаем апостериорную вероятность P(B|A+B). Можно было бы воспользоваться правилом Байеса для того, чтобы вычислить эту вероятность вручную:
Однако уже для такой элементарной программы ручное применение правила Байеса требует некоторого времени, а для нетривиальных программ аналитически вычислить значения может и вовсе не получиться.
Итак, сэмплирование позволяет нам вычислять апостериорные вероятности интересующих нас случайных величин при наложении тех или иных условий. Оно заменяет правило Байеса, широко используемое в машинном обучении для выбора моделей или выполнения предсказаний. При этом запись программы на вероятностном языке для многих людей может оказаться гораздо понятнее, чем применение правила Байеса. Конечно, само режекторное сэмплирование весьма просто можно реализовать на обычном языке программирования, но вероятностные языки этим не ограничиваются.
В Чёрче, в частности, реализована другая функция для сэмплирования – enumeration-query. Запустим программу
На выходе мы получим: ((#t #f) (0.7894736842105263 0.2105263157894737)). Здесь выведены точные значения (конечно, со скидкой на конечную разрядную сетку) вероятностей P(B|A+B). enumeration-query уже не просто запускает много раз программу, но анализирует пути ее выполнения и перебирает все возможные значения случайных переменных с учетом их вероятностей. Конечно, такое «сэмплирование» будет работать, только когда множество возможных комбинаций значений случайных переменных не слишком велико.
Есть в Чёрче и более продвинутая замена режекторному сэмплированию на основе MCMC (Monte Carlo Markov Chains), а именно Metropolis Hastings алгоритм, откуда и название у процедуры – mh-query. Эта процедура запроса сразу формирует заданное число сэмплов (а также получает на вход один дополнительный параметр – лаг). Эта процедура также нетривиальна в реализации, так что использование готового вероятностного языка (а не собственная реализация простых процедур сэмплирования на обычном языке) приобретает смысл.
Однако главное, что дает вероятностное программирование, – это стиль мышления.
Разные разработчики находят разные применения вероятностному программированию. Многие применяют его непосредственно для решения задач машинного обучения. Авторы же языка Чёрч, Noah D. Goodman and Joshua B. Tenenbaum, в своей web-книге «Probabilistic Models of Cognition» показывают применение вероятностного программирования для когнитивного моделирования. Также известно, как решение задач планирования удобно представлять в терминах вывода в вероятностных языках. Оно также оказывается применимым для представления знаний и вывода над ними, а также для задач машинного восприятия (в том числе, распознавания изображений). Все эти приложения пока более или менее разрозненные, но наличие общего фреймворка для всех них свидетельствует о том, что вероятностное программирование может стать «теорией великого объединения» для ИИ. Посмотрим на простейшие примеры возможного использования.
Одним из наиболее классических примеров применения экспертных систем является медицинская диагностика. В частности, система MYCIN была построена на системе правил вида:
Then there is weakly suggestive evidence (0.4) that
Очевидно, правила такого вида хорошо описываются на языке типа Чёрч. При этом нет необходимости еще и реализовывать процедуру вывода – достаточно просто записать систему правил. Приведем пример из упомянутой книги «Probabilistic Models of Cognition»:
(define cough (or (and cold (flip 0.5)) (and lung-cancer (flip 0.3)) (and TB (flip 0.7)) (and other (flip 0.01))))
(define fever (or (and cold (flip 0.3)) (and stomach-flu (flip 0.5)) (and TB (flip 0.2)) (and other (flip 0.01))))
(define chest-pain (or (and lung-cancer (flip 0.4)) (and TB (flip 0.5)) (and other(flip 0.01))))
(define shortness-of-breath (or (and lung-cancer (flip 0.4)) (and TB (flip 0.5)) (and other (flip 0.01))))
(list lung-cancer TB)
(and cough fever chest-pain shortness-of-breath)))
(hist samples "Joint inferences for lung cancer and TB")
В этой программе определяются априорные вероятности появления у больного рака легких, туберкулеза, простуды и т.д. Далее определяются вероятности наблюдения кашля, жара, боли в груди и стесненного дыхания при тех или иных заболеваниях. Возвращаемая величина – это пара булевых значений, есть ли у пациента рак и/или туберкулез. И, наконец, условие – это совокупность наблюдаемых симптомов (то есть сэмплирование производится при условии, что значение всех переменных – cough fever chest-pain shortness-of-breath – #t).
Результат выполнения программы будет иметь следующий вид: (#f #f) — 4%, (#f #t) — 58%, (#t #f) — 37%, (#t #t) — 1%.
Несложно сделать, чтобы samples была функцией, в которую подается перечень симптомов, который далее в mh-query используется для сэмплирования, что даст возможность ставить диагнозы разным пациентам. Конечно, этот пример сильно упрощенный, но видно, что в стиле вероятностного программирования вполне можно представлять знания и делать вывод над ними.
Естественно, можно решать и задачи машинного обучения. Их отличие будет лишь в том, что неизвестными величинами будут параметры самой модели, а в качестве условия для сэмплирования будет выступать генерация этой моделью обучающей выборки. К примеру, в представленной выше программе мы бы числа в строках вида (define lung-cancer (flip 0.01)) могли бы заменить на переменные, которые сами бы задавались как случайные, например (define p-lung-cancer (uniform 0 1)), а далее для каждого пациента из обучающей выборки значение lung-cancer уже определялось бы с вероятностью p-lung-cancer.
Рассмотрим эту возможность на простом примере оценивания параметров многочлена по набору точек. В следующей программе функция calc-poly вычисляет значение многочлена с параметрами ws в точке x. Функция generate применяет calc-poly к каждому значению из заданного списка xs и возвращает список соответствующих ординат. Процедура noisy-equals? «приближенно» сравнивает два заданных значения (если эти значения равны, то функция возвращает #t с вероятностью 1; если же они не равны, то чем больше они отличаются, тем с меньшей вероятностью она вернет #t).
(define (generate xs ws)
(map (lambda (x) (calc-poly x ws)) xs))
(define (noisy-equals? x y)
(flip (exp (* -3 (expt (- x y) 2)))))
(define (samples xs ys)
(mh-query 1 100
(define n-coef 4)
ws
(samples "(0 1 2 3 4) "(0.01 1.95 6.03 12.01 20.00))
Внутри вызова mh-query параметр n-coef определяет число коэффициентов в многочлене (то есть его степень минус один); ws – это список, состоящий из случайных величин, сгенерированных в соответствии с нормальным распределением. Возвращаемое значение – список параметров многочлена. Условие для сэмплирования – «приближенное» равенство всех заданных значений ys всем ординатам, порожденным многочленом при данных ws. Здесь мы запрашиваем всего одну реализацию, которая проходит по условию (поскольку строить гистограмму для вектора параметров не очень удобно). Результатом этого запроса может быть, к примеру, список (2.69 1.36 0.53 -0.10), задающий многочлен 2.69+1.36x+0.53x^2–0.10x^3.
Вообще, вывод на моделях с вещественными параметрами – не самая сильная сторона языка Чёрч (но не стоит это считать глобальным недостатком вероятностного программирования вообще). Тем не менее, на этом примере mh-query кое-как работает. Чтобы в этом убедиться, вместо определения значений параметров в запросе можно попросить возвращать предсказание в некоторой точке. Перепишем последний фрагмент кода так:
То есть мы запрашиваем наиболее вероятное (при имеющихся данных) значение в точке x=5. При разных запусках максимум гистограммы, к сожалению, будет приходиться на несколько различающиеся значения (метод MCMC, теоретически, гарантирует схождение к истинному распределению, но лишь в пределе), но обычно эти значения будут достаточно вразумительными. Стоит заметить, что здесь мы «бесплатно» (заменой одной строчки) получили полное байесовское предсказание: вместо выбора лучшей модели и предсказания лишь по ней, мы получили апостериорное распределение значений в точке x=5, усредненное сразу по множеству моделей с учетом их собственных вероятностей.
Но и это еще не все. Опять же, заменой одной строчки – (define n-coef 4) -> (define n-coef (random-integer 5)) мы можем сделать автоматический выбор между моделями с разным числом параметров. Причем сэмплирование величины n-coef показывает (хотя и не очень стабильно), что наиболее вероятным значением является n-coef=3 (то есть парабола, которая и заложена в заданный набор точек). При такой модификации более стабильным становится и предсказание. Иными словами, не возникает и эффекта переобучения! Почему же не выбираются многочлены более высокой степени, ведь они могут точнее проходить к заданным точкам? Дело в том, что при сэмплировании «угадать» подходящие значения параметров многочлена меньшей степени проще, чем многочлена более высокой степени, поэтому вероятность породить такие параметры, которые пройдут проверку, для многочлена второй степени выше, чем для третьей. В то же время, многочлен первой степени будет давать большие отклонения, для которых вероятность срабатывания noisy-equals? будет сильно понижаться.
Посмотрим еще на одно применение, которое в рамках вероятностного программирования может показаться неожиданным. Это решение «дедуктивных» задач. Возьмем приведенную в начале функцию вычисления факториала, но вместо вызова ее с фиксированным значением будем считать, что аргумент – случайная переменная, но на само значение факториала наложено ограничение:
В качестве ответа мы увидим n=5 с вероятностью 1. Если же мы вместо 120 зададим 100, то программа не зациклится (в отличие от случая использования rejection-query или mh-query, что можно считать их недостатком), а просто вернет пустое множество. Можно поставить в качестве условия и не строгое равенство, а какое-то другое ограничение.
Таким же образом можно решать и более сложные задачи. Допустим, мы хотим решить задачу о сумме подмножеств: в ней надо из заданного множества чисел найти такое подмножество, сумма в котором равна заданному числу (обычно в качестве этого числа берется 0 и требуется, чтобы подмножество было не пустым; но чтобы избавиться от проверки на нетривиальность решения, мы возьмем ненулевую сумму). Казалось бы, причем тут вероятностное программирование? Но случайные величины – это просто неизвестные величины (для которых заданы априорные вероятности). В любых задачах нам нужно найти что-то неизвестное, в том числе и в задаче о сумме подмножеств. Посмотрим на следующую элементарную программу (ее можно было бы даже еще упростить, записав summ через fold).
Здесь ws – список случайных булевых значений. Процедура summ вычисляет сумму элементов списка xs, для которых соответствующие элементы списка ws истинны. Далее запрашивается значения ws, для которых выполняется условие равенства полученной суммы заданному числу v. Запустив эту программу, можно получить такой результат: (#f #t #t #f #t #f), который, конечно, является правильным (так как 3+7-9=1).
Естественно, Чёрч не делает чуда и при повышении размерности этой задачи он с ней не справится. Однако не может не удивлять то, что столь разные задачи ИИ могут быть хотя бы поставлены (и отчасти решены) с использованием одного и того же языка. Ну, а проблема эффективного вывода как была, так и остается. В вероятностных языках она хотя бы выделяется в чистом виде.
This entry passed through the Full-Text RSS service - if this is your content and you"re reading it on someone else"s site, please read the FAQ at http://ift.tt/jcXqJW.
Немногие пользователи Windows слышали о технологии Wake-On-Lan (или сокращенно WOL), а тем более пользовались ей когда-либо. Большинство читателей нашего сайта уже на этой фразе зевнут, и поспешат переключить своё внимание на что-то другое, более понятное и интересное к прочтению. Но не спешите этого делать, т.к. технология WOL, на самом деле, достаточно понятна, проста и востребована в настоящее время.
Рассмотрим поэтапно, что из себя представляет технология Wake-On-Lan, какие требования у этой технологии к комплектующим компьютера, каковы особенности её настроек в Windows 10, а также в каких случаях она может понадобиться, когда и как может быть применена в повседневной жизни.
WOL, придуманная и введённая в функционал сетевых устройств достаточно давно, но не слишком изначально востребованная (только в узких кругах – сетевые бизнес-решения) Wake-On-LAN позволяет включать ПК дистанционно, посредством подачи специальной команды через локальную сеть, или даже через интернет. Сразу становится понятно, что это удобная функция – “разбудить” свою “машину” удаленно, чтобы получить доступ к своим файлам, операционной системе и установленному в ОС программному обеспечению.
Таким образом, используя связку Wake-On-Lan + (TeamViewer, Radmin, и прочие) – любой человек может контролировать свой ПК, работать в нём, настраивать его компоненты из любой точки мира, обращаясь к ПК через интернет. При этом никакой помощи, присутствия кого-либо еще непосредственно возле компьютера не требуется.
Так же, вкратце стоит отметить, что на базе WOL возможно реализовать Wake-on-Wireless LAN – это технология беспроводного включения компьютера, на основе работы WiFi роутеров и других подобных устройств. Конечно же, подобные устройства беспроводной передачи данных должны включать в свой программно-аппаратный функционал поддержку удалённого включения.
Чтобы реализовать такую схемы работы ПК, необходимо соблюдение следующих технических условий:
В силу того, что работа технологии WOL реализована на аппаратном уровне компьютера, то данная технология работает в большинстве видов операционных систем, будь то Windows, Mac или Linux.
Удобство технологии Wake-On-Lan в том и заключается, что, когда компьютер не востребован Вами (а Вы удалены от компьютера) – ПК может находиться в любом из рабочих состояний, которые экономят электроэнергию. Будь то режим гибернации, спящий режим, да что там – ПК даже может быть выключен (но, естественно, не отсоединён физически от электропитания)! Ну а в случае, если Вам понадобятся какие-либо файлы на этом ПК, или же нужно будет запустить определенную программу на нём – Вы с лёгкостью можете “разбудить” свой компьютер, включить удалённо и начать работу с ним. И это, согласитесь, очень удобно, очень эффективно.
Итак, если технические условия соблюдены, стандарты и формат WOL поддерживаются – перейдем к разделу настроек Wake-On-Lan, чтобы реализовать данный функционал.
Находясь непосредственно в Windows 10, нажимаем комбинацию кнопок клавиатуры “WIN” + “I”, откроется окно “Параметры”, в нём выберите раздел “Сеть и Интернет”:
В появившемся окне кликните мышью в его правой части по разделу “Ehernet” (сетевой адаптер), и затем в левой части окна нажмите мышью на пункт “Настройка параметров адаптера”:
Откроется окно “Сетевые подключения”. Найдите ярлык с названием “Ethernet”, нажмите на нём правой кнопкой мыши, и выберите во всплывшем меню пункт “Свойства”:
Откроются настройки сетевой карты ПК. Вверху справа, сразу под названием сетевой карты нажмите на кнопку “Настроить”.
В открывшемся окне выберите мышью вкладку “Дополнительно”. Далее, в появившемся окне настроек свойств сетевой карты – пролистайте список параметров до пункта “Wake on Magic Packet”, выделите его кликом мыши, и в правой части окна переключите параметр в состоянии “Enabled” – “включено”, если состояние будет “Disabled” – “выключено”:
Далее, не нажимая кнопку “Ок”, и не закрывая текущего окна – выберите закладку “Управление электропитанием”. В данном окне проверьте наличие галочек на пунктах (включите их):
Выполнив все эти действия, нажмите кнопку “Ок”, окно настроек закроется, новые параметры вступили с этого момента в силу. Закройте и все остальные окна, открытые для совершения данных настроек WOL.
Как Вы заметили, в предыдущем разделе упоминался такой термин, как “магический” пакет, его ещё называют “волшебный” пакет. О чем идёт речь в данном случае, о какой магии, если суть тематики сугубо техническая – настройка ПК?
Дело в том, что “магическим” пакетом была названа та самая команда, передаваемая по сети, которая заставляет компьютер “проснуться”, включиться по “приказу” владельца.
Как выглядит “магический” пакет? Всё достаточно просто – это незамысловатая комбинация чисел, эдакий числовой блок, который отправляется по сети от устройства пользователя к его удаленному компьютеру, находящемуся в режиме сна. Данный блок состоит из следующих частей:
В силу того, что MAC-адрес любого сетевого устройства в мире – уникален, и не повторяется, то “магический” пакет, содержащий этот MAC-адрес, может предназначаться вполне конкретному, одному, сетевому устройству. Что и позволяет удалённо, находясь в любой точке планеты, и имея доступ в сеть Интернет – адресно обратиться именно к своему устройству. Все другие ПК, роутеры и прочие сетевые устройства – соответственно, никак не среагируют на появление такого пакета данных, т.к. у них уже свои, также абсолютно уникальные, MAC-адреса.
Сетевой адаптер, благодаря включенной технологии Wake-On-Lan, постоянно сканирует сеть на появление как раз этой команды, чтобы инициировать в то же мгновение процесс включения персонального компьютера – будет подано питание, ПК включится, инициируется запуск операционной системы Windows.
Для всего этого нужно перевести сетевую карту в режим управления питанием ПК, то есть разрешающий ей включать компьютер при появлении сигнала – “магического” пакета, что мы и сделали в предыдущем разделе.
Для успешной работы компьютера в режиме Wake-On-Lan, помимо соблюдения технических требований поддерживаемых стандартов, и соответствующей настройки сетевой карты – необходимо также включить соответствующий режим работы в BIOS компьютера.
Перезагрузите (включите) компьютер, и с первых секунд начала загрузки непрерывно нажимайте клавишу “F2” или “DEL”, в зависимости от версии BIOS. Далее нам нужно найти соответствующую настройку BIOS, которая позволяет включить режим Wake-On-Lan. Как правило, данная опция находится в разделе BIOS “Конфигурация” (Configuration) или “Управление питанием” (Power management). Но в силу того, что на рынке персональных компьютеров версий BIOS достаточно большое количество, и между собой они сильно различаются в плане построения интерфейса, то однозначно написать, где находится опция включена WOL – затруднительная задача.
Даже само название технологии удалённого включения может называться по-разному, в зависимости от модели и версии BIOS, платформы ПК (MAC, Windows, Linux). Помимо исходного названия “Wake-On-Lan”, посмотрите примеры возможных альтернативных вариантов названий, из списка:
После того, как опция найдена, выберите вариант её режима работы как “Включено” или “Enabled”, если BIOS на английском языке. Всё, настройки BIOS на этом закончены. Для сохранения изменений нажмите клавишу “F10”, или в пункте меню BIOS найдите пункт “Сохранить и выйти”, подтвердите в открывшемся окне правильность выбора варианта выхода (с сохранением), нажав ОК. Компьютер уйдёт в перезагрузку с уже новым заданным параметром BIOS.
Суть работы технологии WOL такова, что каждый из пользователей той локальной (глобальной) сети, в которой находится и сам компьютер с включенным WOL, может осуществить запуск этого компьютера, зная MAC-адрес сетевой карты ПК. Соответственно, вопрос безопасности данных остаётся открытым.
Проблема актуальна лишь для компьютеров с включенной технология пробуждения, которые подключены к какой-либо общественной сети. Для компьютеров домашней сети – уровень безопасности находится на высоком уровне.
С другой стороны, даже осуществив включение удалённого ПК путём посылки ему “волшебного” пакета – злоумышленник не сможет обойти настройки безопасности ПК. Пароль на вход в учётную запись, пароль при старте BIOS (если установлена эта опция), персональные настройки безопасности брандмауэра внутри Windows и прочие моменты, связанные с безопасностью – злоумышленнику придётся как-то обходить, ведь технология Wake-ON-Lan позволяет как раз лишь включить компьютер удалённо, но никак не даёт прямого доступа к информации на компьютере.
Бывали случаи, когда хакеры, используя связку серверных технологий, таких как PXE и DHCP, всё-таки получали доступ к операционной системе Windows на удалённом ПК, используя для обхода защиты установочный образ Windows, специальным образом настроенным “под себя”, под свои корыстные цели. Но это удел узкого круга IT-специалистов с высоким уровнем знаний, которые вряд ли позарятся на обычный домашний ПК рядового пользователя.
Итак, мы узнали, что такое технология удалённого включения компьютера под название Wake-ON-Lan. Технология, сама по себе, не нова. Но несмотря на это, у неё появляется всё больше вариантов применения – уже не только в каких-либо бизнес-решениях с применением обширных локальных сетей, управляемых серверов, работающих по различным сетевым технологиям и т.п., но WOL уже возможно применить и в повседневной, домашней жизни, или в пределах задач малого офиса.
Как пример – можно использовать WOL при создании технологичного эко-пространства “умный дом”. И правда, очень лаконичное, грамотное, и удобное решение. Не нужно приобретать что-либо дополнительное из оборудования или программного обеспечения, чтобы организовать у себя на дому локальный сервер с удалённым доступом, которым уже можно управлять домашними устройствами, получать статистику их работы и т.п.
Применяете ли Вы данную функцию ПК в своей жизни, работе? Поделитесь опытом и впечатлениями об использовании технологии Wake-ON-Lan в комментариях под данной статьёй!
Ещё на сайте:
Настройка Wake-On-Lan в Windows 10 обновлено: Февраль 25, 2018 автором: Vladimir
13 Мар 2015
C помощью TeamViewer Вы можете включить компьютер через Wake-on-LAN.
Таким образом, вы можете удалённо управлять отключённым от сети компьютером, пробуждая его перед тем, как установить подключение.
Я расскажу о способе пробуждения компьютера с помощью другого компьютера, находящегося в той же сети.
Для этого нам нужно настроить BIOS, Сетевую карту, Брандмауэр и TeamViewer.
Для начала нужно настроить BIOS. Данная процедура может отличаться в зависимости от типа компьютера.
Для активации Wake-On-LAN в BIOS выполните следующие действия :
Все остальные настройки нужно провести в Windows. Зайдите под учетной записью администратора.
Во-первых настроим сетевую карту.
Теперь сетевая карта вашего компьютера поддерживает Wake-On-LAN.
Во-вторых настроем Брандмауэр (Firewall)
Брандмауэр настроен.
В-третьих нужно настроить сам TeamViewer.
Для начала свяжем компьютер с учетной записью.
Для безопасности, что компьютер может быть включен только Вами, необходимо удостовериться, что компьютер действительно принадлежит Вам. Поэтому необходимо привязать компьютер к Вашей учетной записи TeamViewer. Пробудить данный компьютер возможно только через связанную с ним учётную запись TeamViewer.
→ Откроется диалоговое окно Опции TeamViewer.
Теперь настроим Wake-on-Lan через TeamViewer ID в сети.
Если компьютер не имеет публичного адреса, вы также можете пробудить его с другого
компьютера через локальную сеть. Другой компьютер должен быть включён, а TeamViewer установлен и настроен на запуск при старте Windows.
В таком случае Вы можете активировать возможности Wake-On-LAN по локальной сети. Для этого Вам необходимо будет внести TeamViewer ID того компьютера в сети, с помощью которого будет пробужден Ваш. Таким образом сигнал к пробуждению будет пущен через определенный включенный компьютер к тому, который нужно разбудить/включить.
Осталось проверить всё ли работает. Откройте “компьютеры и контакты”, щелкните правой кнопкой мыши по нужному компьютеру, должна появиться кнопка “Разбудить”, нажимайте (можно несколько раз) и компьютер включится!
Инструкцию для Вас составил Евгений Трошев.
+7 495 215-52-77 Пн-пт 9.00-19.00
© 2019 | KMK-СЕРВИС | Аутсорс и поддержка ИТ
ИНН/КПП 7728869840/772801001 ОГРН 1147746122556
Политика конфиденциальности (редакция от 01.11.2013)
Мы стремимся уважать информацию личного характера, касающуюся посетителей нашего сайта http://kmk.bz . В настоящей Политике конфиденциальности разъясняются некоторые из мер, которые мы предпринимаем для защиты Вашей частной жизни.
Конфиденциальность информации личного характера
Получение информации частного характера. Мы получаем информацию частного характера о Вас, в том числе информацию, которую Вы предоставляете, когда регистрируетесь в качестве пользователя, направляете нам письмо или подписываетесь на получение электронных информационных сообщений с нашего сайта. «Информация личного характера» обозначает любую информацию, которая может быть использована для идентификации личности, например, фамилия или адрес электронной почты.
Использование информации частного характера
Информация личного характера, полученная в формате электронных регистрационных форм, используется нами, среди прочего, для целей регистрирования пользователей, для поддержки работы и совершенствования нашего сайта, отслеживания политики и статистики пользования сайтом, а также в целях, разрешенных Вами. Кроме того, мы используем информацию личного характера для поддержания с Вами связи иными способами. Например, если Вы направляете нам сообщение через данный сайт, мы можем воспользоваться Вашей персональной информацией, чтобы ответить на него. Мы также используем персональную информацию для того, чтобы проинформировать Вас о внесении существенных изменений в настоящую Политику конфиденциальности.
Время от времени мы можем приглашать пользователей предоставлять информацию в формате опросов или анкет. Участие в таких опросах или подписных листах совершенно добровольно, следовательно, пользователь сайта может принять решение, раскрывать ли запрашиваемую информацию. В дополнение к прочим целям, предусмотренным в настоящей Политике конфиденциальности, контактная информация, полученная в связи с опросами или анкетами, используется для сообщения Вам результатов опросов или анкетирования, а также для контроля или совершенствования использования и повышения удовлетворенности данным сайтом.
Раскрытие информации частного характера
Мы нанимаем другие компании или связаны с компаниями, которые по нашему поручению предоставляют услуги, такие как обработка и доставка информации, размещение информации на данном сайте, доставка содержания и услуг, предоставляемых настоящим сайтом, выполнение статистического анализа. Чтобы эти компании могли предоставлять эти услуги, мы можем сообщать им информацию личного характера, однако им будет разрешено получать только ту информацию личного характера, которая необходима им для предоставления услуг. Они обязаны соблюдать конфиденциальность этой информации, и им запрещено использовать ее в иных целях.
Мы можем использовать или раскрывать Ваши личные данные и по иным причинам, в том числе, если мы считаем, что это необходимо в целях выполнения требований закона или решений суда, для защиты наших прав или собственности, защиты личной безопасности пользователей нашего сайта или представителей широкой общественности, в целях расследования или принятия мер в отношении незаконной или предполагаемой незаконной деятельности, в связи с корпоративными сделками, такими как разукрупнение, слияние, консолидация, продажа активов или в маловероятном случае банкротства, или в иных целях в соответствии с Вашим согласием.
Мы можем раскрывать содержание сообщений или обращений, однако мы не будем размещать или публиковать информацию личного характера, а также, за исключением случаев, предусмотренных в настоящей Политике конфиденциальности, такая информация не будет предоставляться оказывающим услуги третьим сторонам без Вашего согласия. Мы не будем продавать, предоставлять на правах аренды или лизинга наши списки пользователей с адресами электронной почты третьим сторонам.
Доступ к информации личного характера
Если после предоставления информации на данный сайт, Вы решите, что Вы не хотите, чтобы Ваша Персональная информация использовалась в каких-либо целях, Вы можете исключить себя из списка пользователей нашего сайта, связавшись с нами по следующему адресу: [email protected] .
Наша практика в отношении информации неличного характера
Мы можем собирать информацию неличного характера о Вашем посещении сайта, в том числе просматриваемые Вами страницы, выбираемые Вами ссылки, а также другие действия в связи с Вашим использованием нашего сайта. Кроме того, мы можем собирать определенную стандартную информацию, которую Ваш браузер направляет на любой посещаемый Вами сайт, такую как Ваш IP-адрес, тип браузера и язык, время, проведенное на сайте, и адрес соответствующего веб-сайта.
Использование закладок (cookies)
Файл cookie - это небольшой текстовый файл, размещаемый на Вашем твердом диске нашим сервером. Cookies содержат информацию, которая позже может быть нами прочитана. Никакие данные, собранные нами таким путем, не могут быть использованы для идентификации посетителя сайта. Не могут cookies использоваться и для запуска программ или для заражения Вашего компьютера вирусами. Мы используем cookies в целях контроля использования нашего сайта, сбора информации неличного характера о наших пользователях, сохранения Ваших предпочтений и другой информации на Вашем компьютере с тем, чтобы сэкономить Ваше время за счет снятия необходимости многократно вводить одну и ту же информацию, а также в целях отображения Вашего персонализированного содержания в ходе Ваших последующих посещений нашего сайта. Эта информация также используется для статистических исследований, направленных на корректировку содержания в соответствии с предпочтениями пользователей.
Агрегированная информация
Мы можем объединять в неидентифицируемом формате предоставляемую Вами личную информацию и личную информацию, предоставляемую другими пользователями, создавая таким образом агрегированные данные. Мы планируем анализировать данные агрегированного характера в основном в целях отслеживания групповых тенденций. Мы не увязываем агрегированные данные о пользователях с информацией личного характера, поэтому агрегированные данные не могут использоваться для установления связи с Вами или Вашей идентификации. Вместо фактических имен в процессе создания агрегированных данных и анализа мы будем использовать имена пользователей. В статистических целях и в целях отслеживания групповых тенденций анонимные агрегированные данные могут предоставляться другим компаниям, с которыми мы взаимодействуем.
Данная Политика конфиденциальности относится только к информации, собираемой данным сайтом. На данном сайте могут иметься ссылки на другие сайты, не принадлежащие нам и не контролируемые нами. Мы не несем ответственности за используемую такими сайтами политику конфиденциальности. Когда Вы уходите с нашего сайта, Вам следует ознакомиться с заявлением о конфиденциальности каждого сайта, собирающего личную информацию.
Изменения, вносимые в настоящее Заявление о конфиденциальности
Мы сохраняем за собой право время от времени вносить изменения или дополнения в настоящую Политику конфиденциальности - частично или полностью. Мы призываем Вас периодически перечитывать нашу Политику конфиденциальности с тем, чтобы быть информированными относительно того, как мы защищаем Вашу личную информацию. С последним вариантом Политики конфиденциальности можно ознакомиться путем нажатия на гипертекстовую ссылку «Политика конфиденциальности», находящуюся в нижней части домашней страницы данного сайта. Во многих случаях, при внесении изменений в Политику конфиденциальности, мы также изменяем и дату, проставленную в начале текста Политики конфиденциальности, однако других уведомлений об изменениях мы можем Вам не направлять. Однако, если речь идет о существенных изменениях, мы уведомим Вас, либо разместив предварительное заметное объявление о таких изменениях, либо непосредственно направив Вам уведомление по электронной почте. Продолжение использования Вами данного сайта означает Ваше согласие с такими изменениями.
Связь с нами
Если у Вас возникли какие-либо вопросы или предложения по поводу нашего положения о конфиденциальности, пожалуйста, свяжитесь с нами по следующему адресу: [email protected]
А Вы знали, что компьютер можно включить удалённо через lan сеть или даже через интернет. Технология Wake-On-LAN существует уже довольно давно, и сейчас мы рассмотрим, как она работает.
Wake-On-LAN (иногда сокращенно WoL) является стандартным протоколом для пробуждения компьютеров дистанционно. Естественно компьютер должен быть подключен физически и к электричеству и к роутеру с помощью проводного или даже по Wi-Fi соединения. Протокол Wake-on-Wireless-LAN позволяет включить компьютер и без проводного сетевого соединения.
Включение Wake-On-LAN зависит от двух вещей: материнской платы и сетевой карты. Ваша материнская плата должна быть подключена к ATX-совместимому блоку питания, т.е. практически к любому блоку питания, который выпускается уже лет 17 как. Сетевая карта или беспроводная карта также должны поддерживать эту функцию. Поскольку включение протокола WoL устанавливается либо через BIOS, либо через прошивку Вашей сетевой карты. В последнем случае понадобится специальное программное обеспечение, чтобы включать компьютер.
Поддержка Wake-On-LAN является довольно обычной возможностью встраиваемой в материнские и сетевые карты по умолчанию. Причём среди перечисленных характеристик в магазинах уже и не встретишь упоминания о поддержке Wake-On-LAN.
Wake-On-LAN включает компьютер, посылая на его сетевую карту «волшебные пакеты», которые включают в себя сетевой широковещательный адрес, широковещательный адрес, MAC-адрес сетевой карты, и специальную последовательность байтов - пакет данных. Эти магические пакеты абсолютно идентичные для любой платформы будь то Intel или AMD или Apple. Типичные порты, используемые для WoL и магических пакетов - UDP 7 и 9. Поскольку каждый компьютер активно прослушивает канал передачи данных, то такой волшебный пакет, имеющий в себе уникальный идентификатор компьютера (MAC-адрес сетевой карты), без труда будет пойман и обработан.
На рисунке выше показаны результаты анализатора пакетов. Здесь возникает резонный вопрос: а безопасна ли передача волшебного пакета? Ведь перехватить незащищённый трафик не составит труда. На сколько безопасна передача Wake-On-LAN при использовании в небезопасных сетях и через Интернет? В защищенной сети или при домашнем использовании не должно быть повода для беспокойства. А в открытой сети, лучше не использовать Wake-On-LAN или по меньше мере заботиться о профиле соединения вашей сетевой карты, выбирая хотя бы варианты с минимальной открытостью ресурсов наружу.
Для того, чтобы начать использовать Wake-On-LAN, существует несколько вариантов его включения. Самый простой - через BIOS материнской платы. Другой вариант через специальную утилиту от производителя вашей материнской платы или сетевой карты.
Большинство старых компьютеров и многие современные имеют собственные настройки Wake-On-LAN, зашитые в BIOS. Для того, чтобы войти в BIOS, Вам нужно нажать на кнопку DEL или F1 или F2 при загрузке компьютера, После входа в BIOS перейдите в настройки питания (Power) или Дополнительные настройки (Advanced Options).
Award BIOS
В UEFI BIOS настройка включения Wake-On-LAN обычно находится в дополнительных опциях, иногда - в разделе Включение питания PCIE / PCI.
Также производители материнских плат называют технологию иначе: Aggresslive Link от ASRock, ErP от Gigabyte, PME от ASUS.
UEFI BIOS
Вы также можете включить Wake-On-LAN в операционной системе. Как это сделать в Windows. Откройте меню ПУСК и введите Диспетчер устройств . После открытия Диспетчера устройств разверните раздел Сетевые адаптеры . Щелкните правой кнопкой мыши на сетевой карте и выберите Свойства , затем перейдите на вкладку Дополнительно .
Прокрутите список, и найдите Wake on Magic Packet , Wake on LAN - каждый производитель называет эту настройку на свой лад. Измените значение на Enabled , если оно выключено.
Теперь перейдите на вкладку Управление электропитанием , и убедитесь, что опция Разрешить устройству будить компьютер включена. Дополнительно можно установить галку напротив Разрешить только волшебному пакету будить компьютер .
Откройте системные настройки и выберите Энергосбережение . Отметьте опцию Wake for Network Access или что-то подобное. Это позволит включить Wake-on-LAN.
У Ubuntu есть отличный инструмент, который может проверить, поддерживает ли сетевая карта Wake-on-LAN и можно ли его включить. Откройте терминал и установите ethtool, используя следующую команду:
Sudo apt-get install ethtool
А поддержку Wake-on-LAN можно, запустив:
Если у Вас сетевой интерфейс другой eth1, eth2, eth3 и так далее, замените его.
Найдите пункт Wake-on . Чтобы включить эту опцию, используйте следующую команду:
Sudo ethtool -s eth0 wol g
Повторно запустите команду , чтобы убедиться во включении. Должно быть Wake-on: g .
Чтобы отправлять запросы Wake-on-LAN, есть несколько доступных вариантов:
У Depicus есть отличная серия легких инструментов для выполнения этой работы, включая графический интерфейс для Windows и командную строку для Windows и MacOS. Кроме того доступно отдельное приложение на Android, iPhone и Windows Mobile.
Современные технологии становятся все более удобными, так к примеру, включение нужного нам компьютера, находясь при этом за километры от него не нажимая на кнопку. Функция пробуждения по сети (Wake-on-LAN) существует уже давно, поэтому рассмотрим как она работает и как ее включить.
Что такое Wake-on-LAN?
Wake-on-LAN — это индустриальный стандартный протокол для включения (пробуждения) компьютеров удаленно, в которых есть дежурное питание. Под определением дежурного питания понимается такой режим при котором компьютер выключен, но индикация на материнской плате свидетельствует что на ней есть питание и при этом она имеет возможность запустить блок питания. Этот же протокол позволяет организовать дополнительную возможность: Wake-on-Wireless-LAN — пробуждение от беспроводной сети.
Wake-on-LAN зависит от двух вещей: вашей материнской платы и сетевой карты. Ваша материнская плата должна быть подключена к ATX-совместимому источнику питания, что встречается в большинстве случаев. Ваша сетевая или беспроводная сетевая карта также должна поддерживать эту функциональность. Поскольку эта возможность настраивается в BIOS и в сетевой карте, то нет необходимости в дополнительном специальном софте для ее включении. Поддержка компьютерами функции Wake-on-LAN — это очень распространенное явление даже для более старых моделей. Однако в более новых моделях компьютеров вы сможете отыскать в BIOS дополнительные опции, которые помогут включить компьютер по определенному расписанию или времени. Это конечно же технически не Wake-on-LAN, но дополнительно расширяет функциональность компьютера.
Если собирали компьютер сами, то знайте, что дискретная сетевая карта требует еще подключения специального 3-х пинового кабеля к материнской плате для поддержки функции Wake-on-LAN.
Магический пакет.
Компьютеры с включенной функцией Wake-on-LAN, для того чтобы включиться, ожидают на специальный «магический пакет» из сети, в котором будет сдержаться их собственные МАС-адреса. Этот магический пакет может быть отправлен как с операционной системы на различной платформе, так и из веб-сайта или маршрутизатора. Типичные порты, которые используются для Wake-on-LAN это UDP 7 и 9. Поскольку компьютер «слушает» сеть на факт появления магического пакета, то он потребляет энергию, хоть мало, но потребляет, что может негативно сказаться на уровне заряда батареи в ноутбуке. Поэтому если вы где-то в дороге и вам не нужна в этот момент эта функция, то необходимо следить за тем чтобы она была отключена.
Магический пакет обычно отправляется в саму сеть и содержит в себе разную под-сетевую информацию, сетевой широковещательный адрес и МАС-адрес сетевого адаптера нужного компьютера. Причем нет разницы какой это адаптер, проводной или беспроводной. На изображенном выше рисунке показан результат работы утилиты по «отлову» пакетов, которую применили для того чтобы поймать магический пакет. Этот пример отображает на сколько безопасно пользоваться небезопасными сетями и интернетом. Многие производители материнских плат на ряду с функцией Wake-on-LAN предоставляют специализированный софт для упрощения настройки и использования этой функции.
Как включить Wake-on-LAN.
BIOS
Большинство компьютеров по-старше, а также много современных содержат настройку Wake-on-LAN в биосе. В зависимости от типа или модели материнской платы попасть в BIOS возможно, если при загрузке нажимать на клавишу F2 или Del. Настройки Wake-on-LAN должны находиться в следующих меню биоса: Power Management или Advanced Options, или что-то вроде того.
Хотя и встречаются компьютеры, в которых в биосе отсутствует настройка Wake-on-LAN, но это не всегда означает что они ее не поддерживают. Бывает что просто необходимо подключить эту функцию в самой операционной системе.
Windows
Нажмите клавишу Пуск и в поиске задайте «Управление компьютером». Найдите из списка устройств ваш сетевой адаптер.
Правой кнопкой мышки на нем выберите из меню «Свойства» (Properties), а затем найдите закладку «Дополнительно» (Advanced).
Прокрутите список и найдите в нем следующий пункт «Пробуждение от Магического Пакета» (Wake on Magic Packet) или что-то вроде того, и установите значение в положение «Включено» (Enabled). Нажмите на клавишу ОК когда закончите.
OS X
Откройте окно «Системные настройки» (System Settings) и выберите Energy Saver.
На вкладке «Опции» (Options) вы должны увидеть фразу «Пробуждение от Ethernet» или что-то похожее. Эта опция включает функцию Wake-on-LAN.
Linux
В Ubuntu есть прекрасная утилита, которая поможет определить поддерживает ли ваша материнская плата функцию Wake-on-LAN и если да — то включить ее. Запустите терминал и установите утилиту «ethtool» с помощью следующей команды:
sudo apt-get install ethtool
Вы сможете проверить возможность включения Wake-on-LAN с помощью команды:
sudo ethtool eth0
Где eth0 — это имя вашего сетевого интерфейса, который вы используете по-умолчанию.
Посмотрите на раздел под именем «Supports Wake-on» (он 3-й снизу). Если напротив вы увидите букву «g», то это значит что вы сможете использовать Магический Пакет для функции Wake-on-LAN. Чтобы включить ее используйте следующую команду:
sudo ethtool -s eth0 wol g
После этого введите предыдущую команду чтобы проверить подключилась ли теперь возможность Wake-on-LAN. Посмотрите на раздел «Wake on» (он 2-й снизу), теперь вы должны увидеть букву «g» вместо «d».
Отправка Магического Пакета.
Чтобы отправить запрос на побуждение необходимо знать некоторые параметры.
А именно: это непосредственно МАС-адрес компьютера, его интернет адрес или имя хоста, а также маску под-сети, где находиться этот компьютер. И необходимо обязательно знать и ввести номер порта, который «слушает» выключенный удаленный компьютер.
Скачать программу для отправки Магического Пакета можно по следующей ссылке: