Системное администрирование →
Мониторинг ESET NOD32
Допустим у вас куча офисов, в каждом из которых стоит ESET NOD32 и есть OpenVPN для связи. При этом в каждом офисе будет один компьютер, на котором будет установлена лицензия и который будет закачивать обновления, остальные антивирусы будут закачивать обновления с него. После установки лицензии становится доступным обновление по HTTP (в нашем случае указываем в настройках порт 8081).
Суть метода заключается в скачивании файла update.ver антивируса NOD32
через встроенный HTTP-сервер для раздачи обновлений. Реализация написана
на php+gd. В случае возникновения ошибки выводится расшифровка ошибки.
В любом случае ознакомьтесь что такое ESET Remote Administrator (ERA) — иногда все-таки лучше использовать готовые решения (правда за деньги).
Я использовал шрифт terminal6.gdf, который вы с легкостью можете найти в интернете. И еще одно важное замечание, служба ESET HTTP Server должна быть запущена.
В папке на вебсервере нам понадобятся следующие файлы:
index.php:
.htaccess
ufa.png:
krasnodar.png:
и др. .png файлы для регионов
Для себя я сделал еще один файлик (который, кстати, можно хранить на другом сервере) в котором просто вставил HTML для картинок, добавил дату окончания лицензии и количество лицензий. Выглядит очень симпатично.
Суть метода заключается в скачивании файла update.ver антивируса NOD32
через встроенный HTTP-сервер для раздачи обновлений. Реализация написана
на php+gd. В случае возникновения ошибки выводится расшифровка ошибки.
В любом случае ознакомьтесь что такое ESET Remote Administrator (ERA) — иногда все-таки лучше использовать готовые решения (правда за деньги).
Я использовал шрифт terminal6.gdf, который вы с легкостью можете найти в интернете. И еще одно важное замечание, служба ESET HTTP Server должна быть запущена.
В папке на вебсервере нам понадобятся следующие файлы:
index.php:
<?php
if (isset($_GET['host']))
$host = $_GET['host'];
$url = "/update.ver";
$text = "";
if ($fp = fsockopen($host, 8081, $errno, $errstr, 20))
{
// открываем файл, представляясь браузером
$out = "GET $url HTTP/1.0\r\n";
$out .= "Host: $host\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n";
$out .= "Accept: */*:\r\n";
$out .= "Pragma: no-cache\r\n";
$out .= "Cache-Control: no-cache\r\n";
$out .= "Connection: close\r\n\r\n";
fputs($fp, $out);
// получаем ответ от сервера
$content = '';
while(!feof($fp))
{
stream_set_timeout($fp, 10);
$content .= fgets($fp, 4096);
$status = socket_get_status($fp);
if ($status['timed_out'])
break;
}
fclose($fp);
// шаблон для поиска
// \d означает любая цифра
$pattern = '/version=(\\d\\d\\d\\d)\ \((\\d\\d\\d\\d\\d\\d\\d\\d)\)/';
preg_match_all($pattern, $content, $matches, PREG_OFFSET_CAPTURE);
$count = count($matches[0]);
if (!$count)
{
// если ничего не нашли - вводим другой шаблон
$pattern = '/versionid=(\\d\\d)(\\d\\d)/';
preg_match_all($pattern, $content, $matches, PREG_OFFSET_CAPTURE);
$count =count($matches[0]);
}
// вычленяем нужную нам информацию об обновлении
$ar = array();
for ($i=0;$i<$count;$i++)
$ar[$i] = strval($matches[1][$i][0])."-".strval($matches[2][$i][0]);
// теперь сортируем все вхождения, отбирая наиболее последнюю версию
rsort($ar);
$text = $ar[0];
}
else
$text= "$errstr ($errno)";
// версию получили, теперь можно её выводить
$font = imageloadfont('fonts/terminal6.gdf');
$fontWidth = imagefontwidth($font);
$fontHeight = imagefontheight($font);
$im = imagecreate(strlen($text) * $fontWidth, $fontHeight);
$bgColor = imagecolorallocate($im, 255, 255, 255);
$fgColor = imagecolorallocate($im, 0, 0, 255);
imagestring($im, $font, 0, 0, $text, $fgColor);
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
.htaccess
AddHandler application/x-httpd-php .png
ufa.png:
<?
$host="192.168.2.250";
require_once "index.php";
?>
krasnodar.png:
<?
$host="192.168.93.250";
require_once "index.php";
?>
и др. .png файлы для регионов
Для себя я сделал еще один файлик (который, кстати, можно хранить на другом сервере) в котором просто вставил HTML для картинок, добавил дату окончания лицензии и количество лицензий. Выглядит очень симпатично.
16.11.2010 18:56+0300