Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Всем привет.

Поставил Линукс столкнулся с проблемкой... Сеть настроил, все работает..

но...

не смог пройти авторизацию на сервере для доступа в инет...

дело в том что програма авторизатор у нас немного не стандартная...(вложеным фалом прикрепил).. и это для Windows...

Для *nix систем вообще идет набор текста..

Цитата:

#!/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 = $rin, undef, undef, $tmout) && ++$i<$n)

{

$tmout = 0;

$addr = recv($sock2, $txt, 100, 0);

($ip, $addr) = sockaddr_in($addr);

$ip = join(".",unpack ("C4", $addr));

next if $ip ne $server;

$str=$txt;

}

unless ($str)

{

$noanswer++;

if ($noanswer>10) {$noanswer=0; sleep 20;}

print "no answer...\n" if $v;

}

return($str);

}

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

$passwd_in = substr((substr $yourpass, 0, 3)."Z" x 16, 0, 16);

$passwd_out = substr((substr $yourpass, 3, 16)."0" x 16, 0, 16);

$sock1 = IO::Socket::INET->new(Proto => 'udp', PeerPort => $portno, PeerAddr => $server);

unless ($sock1) {print "Cannot create socket...exit\n"; exit;}

$proto = getprotobyname('udp');

unless (socket($sock2, PF_INET, SOCK_DGRAM, $proto) &&

bind($sock2, sockaddr_in($portno, INADDR_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;

}

как это все мне запустить? человек сидящий у нас на Линуксе в сети написал мне дословно следующие

Цитата:

Находишь строку

$yourpass = 'you_password';

и вместо you_password пишешь свой пароль.

Делаешь файл исполняемым. Это делается командой

chmod u+x noauth.pl

(или любым другим способом)

Запускаешь в консоли командой ./noauth.pl

Я еще установил переменную $v =1, чтобы наблюдать сообщение "AUTH OK" при удачном обмене паролями.

из этого я нифига не понял, а он дальше молчит, и подсказывать не хочет

Пожалуйста помогите, а то без инета в самом линуксе очень тяжело его осваивать, приходится постоянно перезагружатся в винду...

Не дайте умереть будущему Линуксоиду!Smile

Опубликовано

Цитата:

Делаешь файл исполняемым. Это делается командой

chmod u+x noauth.pl

(или любым другим способом)

я смог этот пункт выполнить, открыв свойства и тыцнув галочку на "выполняемый"

такой способ покатит? если нет то как именно запустить команду? просто в консоли?

Цитата:

Запускаешь в консоли командой ./noauth.pl

когда ввожу в консоли, ноль на массу....

Цитата:

Я еще установил переменную $v =1, чтобы наблюдать сообщение "AUTH OK" при удачном обмене паролями.

где эту переменную писать?

Опубликовано

studlife писал(а) Tue, 26 February 2008 22:12

Цитата:

Делаешь файл исполняемым. Это делается командой

chmod u+x noauth.pl

(или любым другим способом)

я смог этот пункт выполнить, открыв свойства и тыцнув галочку на "выполняемый"

такой способ покатит? если нет то как именно запустить команду? просто в консоли?

Прокатит.

Цитата:

Цитата:

Запускаешь в консоли командой ./noauth.pl

когда ввожу в консоли, ноль на массу....

Хм. Значит, всё запустилось, или всё-таки попробуйте поставить $v=1

Цитата:

Цитата:

Я еще установил переменную $v =1, чтобы наблюдать сообщение "AUTH OK" при удачном обмене паролями.

где эту переменную писать?

В скрипте. Там где

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

Написано $v=0, заменяете $v=1, оно должно быть разговорчивым и скать по английски, что же у неё там не срослось.

P.S. Забавный у вас провайдер, однако. Angel

Опубликовано

studlife писал(а) Tue, 26 February 2008 22:12

Цитата:

Запускаешь в консоли командой ./noauth.pl

когда ввожу в консоли, ноль на массу....

Вы эту команду вводите, находясь в то же директории, что и ваш файл noauth.pl? Если нет, то ничего и не должно заработать Smile

Опубликовано

именно так оно и отвечало (правда на русском языке Embarassed )

но я розабрался более менее)) перешел в нужную папку, теперь при запуске пишет следующие

Цитата:

oss@linux-nv3h:~/Desktop> ./noauth.pl

bash: ./noauth.pl: /usr/bin/perl^M: плохой интерпретатор: Нет такого файла или каталога

что делать?Smile

по адресу /usr/bin/ никаких perl^M и подобного не наблюдаю...

Опубликовано

Byte писал(а) Wed, 27 February 2008 23:14

1. установить perl через yast->управление программным обеспечением

просто выбрать все пакеты к установке? у мея просто perl вроде как установлен...

если можно пару скринов))

Byte писал(а) Wed, 27 February 2008 23:14

2. su

насколько я понял это права только для терминала/консоли? или вообще?

Опубликовано

Либо посмотреть в Yast, либо командой rpm -qa | grep perl (rpm -qa опрашивает базу и показывает ВСЕ установленные пакеты, grep perl отфильтровывает названия с выражением 'perl', символ "|" означает конвейер, или pipe, то есть перенаправление стандартного вывода одной программы (в данном случае результата работы rpm -qa) на стандартный ввод другой программы (в данном случае grep).

Опубликовано

сделал как вы написали получил следующие:

Цитата:

oss@linux-0rom:~> rpm -qa | grep perl

perl-Compress-Raw-Zlib-2.005-17

perl-Digest-SHA1-2.11-61

perl-MailTools-1.77-26

perl-TimeDate-1.16-195

perl-MIME-tools-5.420-61

limal-ca-mgm-perl-1.3.2-7

perl-Net-DNS-0.60-16

sax2-libsax-perl-8.1-258

perl-DBD-SQLite-1.13-74

perl-Convert-TNEF-0.17-332

perl-HTML-Tagset-3.10-71

perl-Net_SSLeay-1.30-75

perl-XML-Parser-2.34-107

perl-Bootloader-0.4.32-2

perl-XML-Bare-0.11-15

perl-BerkeleyDB-0.32-13

perl-Config-IniFiles-2.39-72

perl-Cyrus-IMAP-2.3.8-51

perl-File-Tail-0.99.3-71

perl-IO-Zlib-1.06-13

perl-Net-Daemon-0.43-15

perl-TermReadLine-Gnu-1.16-39

perl-Unix-Syslog-0.100-99

perl-libapparmor-2.2-18

perl-Bit-Vector-6.4-71

perl-HTML-Parser-3.56-39

perl-PlRPC-0.2019-18

perl-Compress-Zlib-2.005-13

perl-RPC-XML-0.59-65

apache2-mod_perl-2.0.3-55

perlref-5.004.1-254

perl-base-5.8.8-75

perl-5.8.8-75

perl-Archive-Zip-1.20-19

perl-Config-Crontab-1.21-11

perl-Crypt-SSLeay-0.56-16

perl-Digest-MD4-1.5-71

perl-IO-Multiplex-1.09-36

perl-Net-IP-1.23-73

perl-TermReadKey-2.30-72

perl-URI-1.35-74

perl-gettext-1.05-73

perl-Digest-HMAC-1.01-566

perl-Net-Server-0.96-33

perl-XML-XPath-1.13-12

limal-nfs-server-perl-1.3.2-7

perl-Date-Calc-5.4-72

perl-libwww-perl-5.806-13

perl-IO-Socket-SSL-1.07-22

perl-spamassassin-3.2.3-10

perl-Archive-Tar-1.32-18

perl-Convert-UUlib-1.051-72

perl-IO-Compress-Base-2.005-17

perl-Parse-RecDescent-1.80-318

perl-XML-Writer-0.603-17

perl-Crypt-SmbHash-0.12-72

perl-X500-DN-0.29-15

SDL_perl-1.20.0-471

perl-Carp-Clan-5.9-17

perl-Cyrus-SIEVE-managesieve-2.3.8-51

perl-IO-stringy-2.110-72

perl-Tie-IxHash-1.21-659

limal-perl-1.3.2-8

perl-IO-Compress-Zlib-2.005-16

perl-DBI-1.58-17

yast2-perl-bindings-2.15.3-2

что из этого можно сказать?Smile

далее после этого поместил свой файл noauth.pl в директорию /usr/bin и сделал так:

Цитата:

linux-0rom:/usr/bin # ./perl

./noauth.pl

syntax error at - line 1, near "."

Execution of - aborted due to compilation errors.

что оно может значить?Smile

Опубликовано

EvilShadow писал(а) Thu, 28 February 2008 23:18

Byte писал(а) Thu, 28 February 2008 23:04

а что это за ^M ?

Виндозный возврат каретки, он же CR

угумс, но я не разу не видел, чтобы при попытке выполнить скрипт, в консоль вываливалось. ежели редактировать с помощью MC - да, видно

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...