Авторизатор локальной сети (L2)

Тема в разделе "Десктопный Linux", создана пользователем cube, 23 апр 2010.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. cube

    cube Постоялец

    Регистр.:
    14 мар 2009
    Сообщения:
    82
    Симпатии:
    4
    У кого есть рабочий авторизатор локальной сети (L2) для Linux?
    Я использую Linux Ubuntu 10.4!!
    Нужен авторизатор или подскажите как его под Linux настроить?
     
  2. orion55

    orion55 Создатель

    Регистр.:
    4 май 2010
    Сообщения:
    15
    Симпатии:
    4
    Что такое авторизатор?
    Винду активировать? Пользователей авторизовать? WiFI-клиентов идентифицировать?
     
  3. mefer

    mefer Создатель

    Регистр.:
    26 ноя 2007
    Сообщения:
    11
    Симпатии:
    0
    Авторизатор нормально и корректно запускается вод Wine . Если очень надо то можно на их родной форум спросить сходить.
    Есть такой вариант - Перейти по ссылке

    Как вариант авторизатор на перл. Так как перл мултиплатформенный то его и на винде и на маке и вообще на чем угодно запустить можно.

    PHP:
    #!/usr/bin/perl
    # ============================================================ =============
    # Автоизатор
    # ============================================================ =============
    use IO::Socket;
    use 
    Sys::Hostname;
    use 
    Crypt::Rijndael;

    # ------------------------------------------------------------ -------------

    $yourpass 'you_password'# Замените на пароль
    $server '192.168.7.254'# сервер авторизации
    $portno 7723# порт подключения

    # ------------------------------------------------------------ -------------
    $ver 14# protocol version
    $v 0# 1 - verbose
    # ============================================================ =============

    sub SEND
    {
    $sock1->send($_[0]);
    }

    sub GET
    {
    my ($i,$n,$str,$tmout,$rin,$txt,$ip,$addr) = (0,10,'',5,'','','','');
    vec($rin,fileno($sock2),1) = 1;
    while (
    select($txt $rinundefundef$tmout) && ++$i<$n)
    {
    $tmout 0;
    $addr recv($sock2$txt1000);
    (
    $ip$addr) = sockaddr_in($addr);
    $ip join(".",unpack ("C4"$addr));
    next if $ip ne $server;
    $str=$txt;
    }
    unless ($str)
    {
    $noanswer++;
    if (
    $noanswer>10) {$noanswer=0sleep 20;}
    print 
    "no answer...\n" if $v;
    }
    return(
    $str);
    }

    # ============================================================ ==================

    $passwd_in substr((substr $yourpass03)."Z" x 16016);
    $passwd_out substr((substr $yourpass316)."0" x 16016);

    $sock1 IO::Socket::INET->new(Proto => 'udp'PeerPort => $portnoPeerAddr => $server);
    unless ($sock1) {print "Cannot create socket...exit\n"; exit;}

    $proto getprotobyname('udp');
    unless (socket($sock2PF_INETSOCK_DGRAM$proto) &&
    bind($sock2sockaddr_in($portnoINADDR_ANY)) )
    {print 
    "Cannot bind socket...exit\n"; exit;}

    $id substr(rand,2,6);
    $noanswer 0;

    while(
    1)
    {
    $id 999999 unless $id--;
    &
    SEND("$ver$id");
    print 
    "BEGIN SESSION\n" if $v;

    $p = &GET;
    next unless $p;
    if (
    $p !~ /^id(.{16})$ver$id$/s)
    {
    &
    GET;
    &
    GET;
    sleep 1;
    next;
    }
    $cipher = new Crypt::Rijndael $passwd_in,Crypt::Rijndael::MODE_CBC;
    $key $cipher->decrypt($1);
    $cipher = new Crypt::Rijndael $passwd_out,Crypt::Rijndael::MODE_CBC;
    $skey $cipher->encrypt($key);
    &
    SEND($skey."a$ver$id");
    $p = &GET;
    next unless $p;
    $stat substr $p,0,2;
    $stat $stat eq 'ok' || $stat eq 'sv' "OK" "NO";
    print 
    "AUTH $stat\n" if $v;

    sleep 40;
    }

     
Статус темы:
Закрыта.