Автор Тема: Socket + socks5  (Прочитано 2185 раз)

0 Пользователей и 1 Гость просматривают эту тему.

09h

  • Гость
Socket + socks5
« : °ЯаХЫм 26, 2006, 05:52:47 am »
#!/usr/bin/perl -wT

use Socket;

$host = "c-24-60-216-45.hsd1.ma.comcast.net"; #прокси
$port = "12797";

print "Content-type: text/html\n\n";

socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'));

$iaddr = inet_aton($host);
$paddr = sockaddr_in($port, $iaddr);
connect(SOCK, $paddr);

$msg =
"\x05".
"\x01".
"\x00";

send (SOCK, "$msg", 0);

sysread(SOCK,$answer_data,1024); # читаем ответ от сервера

print_data($answer_data); # печатаем ответ от сервера

$msg =
"\x05".
"\x01".
"\x00".
"\x01".
"\xcd\xbc\x99\x79". # ip
"\x35\x31\x39\x30"; # port

send (SOCK, "$msg", 0);

sysread(SOCK,$answer_data,1024); # читаем ответ от сервера
# тут отвечает прокси сервер

print "<br>";
print_data($answer_data); # печатаем ответ от сервера

sysread(SOCK,$answer_data,1024); # читаем ответ от сервера
# а тут приходит приветствие от сервера icq с которым мне и надо пообщатся через проксю

print "<br>";
print_data($answer_data); # печатаем ответ от сервера

close(SOCK);

#FUNCTIONS

sub print_data() { # выводим данные в hex

my ($data)=@_;
my $i=0;

foreach(split(//,$data)) {
print unpack('H8',$_)." ";
$i++;
if ($i eq 16) {
print "\n";
$i=0;
}

}

}
вот такая фигня получается ))
отправляю 05 00 00
отвечает 05 00
после делаю запрос 05 01 00 01 cd bc 99 79 35 31 39 30
отвечает 05 00 00 01 60 df 23 03 35 31 - все ок типа говорит и после этого еще выдает ответ от сервера icq
а дальше бесполезно чтолибо отправлять, ответа не приходит

как отправить серверу icq с которым мне надо через проксю пообщатся вот это :?::
\x00\x2a\x01\x13\x5a\x00\x7c\x00\x00\x00\x01\x00\x01\x00\x09\x32\x34\x37\x32\x37\x32\x39\x35\x34\x00\x02\x00\x05\xc0\x14\xb0\xf2\x0e\x00\x03\x00\x2c\x46\x61\x6b\x65\x20\x69\x63\x71\x2d\x63\x6c\x69\x65\x6e\x74\x20\x73\x70\x65
\x63\x69\x61\x6c\x20\x66\x6f\x72\x20\x70\x6f\x69\x7a\x6f\x6e\x2e\x6e\x65\x74\x2e\x72\x75\x20\x3d\x29\x00\x16\x00\x02\x01\x0a\x00\x17\x00\x02\x00\x04\x00\x18\x00\x02\x00\x41\x00\x19\x00\x02\x00\x01\x00\x1a\x00\x02\x0c\xd1\x00
\x14\x00\x04\x00\x00\x00\x55\x00\x0f\x00\x02\x65\x6e\x00\x0e\x00\x02\x75\x73

уже 5 ночей по 10 часов поисковики тормашу и ничего ненарою
вот тока http://ruinst.net.ru/ner/socks5.html описание протокола socks5 нарыл