Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Socks5 чекинг, сабж 
:(
    Опции темы
alligator
Дата 1.9.2005, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Сабж собственно =))
Подскажите как сделать socks5 чекинг....
Прочитал туториал про socks5 http://codenet.ru/webmast/socks51.php
такой вопрос у соксов есть комманды в спецификации написаны запросы как мне выполнить нужный запрос ? не понятно smile
То что надо коннектить через сокеты это понятно вот что нужно записать в сокет и в каком формате нет =((

Это сообщение отредактировал(а) alligator - 1.9.2005, 23:39
PM MAIL   Вверх
Mal Hack
Дата 2.9.2005, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



А это не socket_* случаем?
PM ICQ   Вверх
alligator
Дата 3.9.2005, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



fsockopen открываем подключение на сокс
fputs вставляем комманду , у меня есть пример только я незнаю как он работает а мне интересно хочу сделать свой вариант
вот пример:
Код

function hex2bin($dump){
$dump=str_replace(' ', '', $dump);
$res='';
$dumplen=strlen($dump);
for ($i=0; $i<$dumplen; $i+=2){
$bt=$dump[$i].$dump[$i+1];
$res=$res.chr(hexdec($bt));}
return $res; }

function hexlen($s) {
$s=str_replace(' ', '', $s);
if (strlen($s)/2 <16) $v='0';
if (strlen($s)/2 <256) $v.='0';
if (strlen($s)/2 <4096) $v.='0';
$v.=dechex(strlen($s)/2);
return $v; }

function sockcheck( $sockip, $sockport, $timeout=10) {
$sres=0;
$f=fsockopen($sockip, $sockport, $ern, $ers, $timeout);
if (!$f) {
return 0;
} else {
$s=hex2bin('05 02 00 02');
fputs ($f, $s);
$g=fgets ($f,2);
$list= bin2hex($g);
if (($g[0]==hex2bin('04')) or ($g[0]==hex2bin('05'))) $sres=1;
fclose($f);
return $sres; }
}

Добавлено @ 12:26
я незнаю через что лучше делать, подскажите пожалуйста? smile

Это сообщение отредактировал(а) alligator - 3.9.2005, 12:22
PM MAIL   Вверх
Mal Hack
Дата 3.9.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Я имел ввиду класс фунций socket_*();
PM ICQ   Вверх
alligator
Дата 3.9.2005, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Ну да я понял.... что ты это имел ввиду , через эти функции делать ?
PM MAIL   Вверх
Mal Hack
Дата 3.9.2005, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Ага.
PM ICQ   Вверх
alligator
Дата 3.9.2005, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Окей попробуем...
PM MAIL   Вверх
alligator
Дата 4.9.2005, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Не хочет ничего выводить =(
и оч долго коннектит на сокс , что не есть гуд
Код

<?php
$sopen = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Ошибка создания сокета\n");
socket_connect($sopen,'213.215.169.210', 1080);
$res = socket_read ($sopen,1024, PHP_BINARY_READ);
print $res;
socket_close($sopen);
?>


Это сообщение отредактировал(а) alligator - 4.9.2005, 23:01
PM MAIL   Вверх
alligator
Дата 11.9.2005, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Ну что ни кто не поможет чтоль ((
PM MAIL   Вверх
Mal Hack
Дата 11.9.2005, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



alligator а только с данным сервером?
Порт все-таки 80, а не 1080 должен быть.
PM ICQ   Вверх
alligator
Дата 11.9.2005, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Нет именно 1080 ,сокс висит на это порту
Добавлено @ 09:34
Пока только с одним для начала хочу реализовать проверку хотябы одного а потом уже можно и цикл сделать
PM MAIL   Вверх
Mal Hack
Дата 11.9.2005, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



alligator
1. Проверь он так только с этим хостом работает или с любыми.
2. Виснет именно на коннекте или на чтении?
PM ICQ   Вверх
alligator
Дата 11.9.2005, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



На чтении виснет
Добавлено @ 09:44
Код

if(socket_connect($sopen,'213.215.169.210', 1080)===true){
    print "Ok";
}else{
    print "Error";
}

Сокс вроде рабочий
если добовляю виснет
Код

$a2 = socket_read ($sopen,1024);
print $a2;



Это сообщение отредактировал(а) alligator - 11.9.2005, 09:44
PM MAIL   Вверх
Mal Hack
Дата 11.9.2005, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



socket_strerror() че-ть выдает?
Попробуй так:
$a2 = socket_read ($sopen,1024,PHP_BINARY_READ);
ТОлько ты не забывай, что твой код выводит только первый килобайт....
PM ICQ   Вверх
alligator
Дата 11.9.2005, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



да я знаю мне для начала нужно посмотреть что он вооще выводит.
Ничего не выводит
Код

<?php
$sopen = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Ошибка создания сокета\r\n");
if(socket_connect($sopen,'213.215.169.210', 1080)===true){
    print "Ok\r\n";
$buffer=socket_read($sopen,4096,PHP_BINARY_READ);
print socket_strerror(socket_last_error($buffer)) . "\r\n";
print $buffer;
}else{
    print "Error";
}
?>

http://vipartconcert.ru/php/77/t.php
PM MAIL   Вверх
Mal Hack
Дата 11.9.2005, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Так. а на другом IP пробовал?
Если он виснет на чтении, значит что-то не так коннектом...
Попробуй PHP_NORMAL_READ
PM ICQ   Вверх
alligator
Дата 11.9.2005, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Не могу найти других беспланых соксов ((
PM MAIL   Вверх
alligator
Дата 11.9.2005, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



вот вроде нашел рабочий
посмотри что возвращает http://vipartconcert.ru/php/77/t.php
PM MAIL   Вверх
alligator
Дата 11.9.2005, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Сделал так , токо не пойму как ответы разбирать(
Код

if(socket_connect($sopen,'24.255.15.217', 4321)===true){
$buffer=socket_read($sopen,4096,PHP_BINARY_READ);
print $buffer;
print "<br/>";
print bin2hex($buffer)."\r\n";
}

выводит:
005b4e8000f0fa7f

Это сообщение отредактировал(а) alligator - 11.9.2005, 10:54
PM MAIL   Вверх
Mal Hack
Дата 11.9.2005, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Поставь цикл while и в нем read...
PM ICQ   Вверх
alligator
Дата 11.9.2005, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Что то я не догнал а цикл зачем ?
PM MAIL   Вверх
alligator
Дата 11.9.2005, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Я думаю что наверное нужно послать запрос сначала а потом считывать ответ, допустим делаю так
Запрос:
05 02 00 01
где 05 версия протокола ,02 - bind ,00 - RSV зарезервировано , 01 - тип ip адреса тобишь IPv4
как мне перевести требуемый запрос в формат понятный соксику )
можно вроде использовать pack() только я непонял как к ней составлять параметры
pack ( string format [, mixed args [, mixed ...]] )

Это сообщение отредактировал(а) alligator - 11.9.2005, 12:24
PM MAIL   Вверх
Mal Hack
Дата 11.9.2005, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Цитата(alligator @ 11.9.2005, 12:38)
Что то я не догнал а цикл зачем ?

Ну тыже читаешь первые 4096 байт, а остальное как же?

PM ICQ   Вверх
alligator
Дата 11.9.2005, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



дык а больше не нужно
PM MAIL   Вверх
nerezus
Дата 11.9.2005, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 2
Всего: 43



Вот кусок моего (nerezus(ICQ 547097), 2005, GPL v.2)

Код

function hex2bin($dump){
$dump=str_replace(' ', '', $dump);
$res='';
$dumplen=strlen($dump);
for ($i=0; $i<$dumplen; $i+=2){
$bt=$dump[$i].$dump[$i+1];
$res=$res.chr(hexdec($bt));}
return $res; }

function hexlen($s) {
$s=str_replace(' ', '', $s);
if (strlen($s)/2 <16) $v='0';
if (strlen($s)/2 <256) $v.='0';
if (strlen($s)/2 <4096) $v.='0';
$v.=dechex(strlen($s)/2);
return $v; }

function sockcheck( $sockip, $sockport, $timeout=10) {
$sres=0;
$f=fsockopen($sockip, $sockport, $ern, $ers, $timeout);
if (!$f) {
return 0;
} else {
$s=hex2bin('05 02 00 02');
fputs ($f, $s);
$g=fgets ($f,2);
$list= bin2hex($g);
if (($g[0]==hex2bin('04')) or ($g[0]==hex2bin('05'))) $sres=1;
fclose($f); 
return $sres; }
}



--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
alligator
Дата 11.9.2005, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



кстати если использовать pack("nvc*",05,02,00,01); то нормально будет ?
заместо hex2bin ?
Добавлено @ 14:56
Да спасибо вот я как раз пытаюсь разобраться с твоим кодом , хочу немного модифицировать его....
PM MAIL   Вверх
nerezus
Дата 11.9.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 2
Всего: 43



hexlen кстати не нужна тут(она при работе с аськой нужна будет)
а hex2bin сам знаю, что хреново писана: когда писал, я пхп не зал. smile


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
alligator
Дата 11.9.2005, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Поможешь доработать ?
PM MAIL   Вверх
nerezus
Дата 11.9.2005, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 2
Всего: 43



ты это хочешь сделать?

Код

<?

//PHP socks proxyhunter by nerezus(ICQ 547097), 2005, GPL v.2

$from =$_GET['from'];
$to =$_GET['to'];
$pfrom =$_GET['pfrom'];
$pto =$_GET['pto'];
$outfile =$_GET['outfile'];
$timeout =$_GET['timeout'];
if ($outfile=='') $outfile='out.txt';
if ($timeout=='') $timeout=3;


function hex2bin($dump){
$dump=str_replace(' ', '', $dump);
$res='';
$dumplen=strlen($dump);
for ($i=0; $i<$dumplen; $i+=2){
$bt=$dump[$i].$dump[$i+1];
$res=$res.chr(hexdec($bt));}
return $res; }

function hexlen($s) {
$s=str_replace(' ', '', $s);
if (strlen($s)/2 <16) $v='0';
if (strlen($s)/2 <256) $v.='0';
if (strlen($s)/2 <4096) $v.='0';
$v.=dechex(strlen($s)/2);
return $v; }

function sockcheck( $sockip, $sockport, $timeout=10) {
$sres=0;
$f=fsockopen($sockip, $sockport, $ern, $ers, $timeout);
if (!$f) {
return 0;
} else {
$s=hex2bin('05 02 00 02');
fputs ($f, $s);
$g=fgets ($f,2);
$list= bin2hex($g);
if (($g[0]==hex2bin('04')) or ($g[0]==hex2bin('05'))) $sres=1;
fclose($f); 
return $sres; }
}


$form = "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"get\">
<center>
<b>PHP socks proxyhunter by nerezus(ICQ 547097),<br> 2005, GPL v.2</b><br>
IP range:<br>
<input type=\"text\" name=\"from\" size=\"15\" maxlength=\"15\">
<input type=\"text\" name=\"to\" size=\"15\" maxlength=\"15\"><br>
Port range:<br>
<input type=\"text\" name=\"pfrom\" size=\"5\" maxlength=\"5\">
<input type=\"text\" name=\"pto\" size=\"5\" maxlength=\"5\"><br>
Timeout: <input type=\"text\" name=\"timeout\" size=\"2\" maxlength=\"2\"><br>
Outfile: <br>
<input type=\"text\" name=\"outfile\" size=\"16\" maxlength=\"255\"><br>
<input type=\"submit\" value=\".: GO! :.\">
</form></center>";
if ($from == '' or $to == '' or $pfrom=='' or $pto=='')  echo $form;  else {
$flist=explode('.', $from);
$tlist=explode('.', $to);
$fip=$flist[0]*256*256*256+$flist[1]*256*256+$flist[2]*256+$flist[3];
$tip=$tlist[0]*256*256*256+$tlist[1]*256*256+$tlist[2]*256+$tlist[3];
for ($i=$fip; $i<=$tip; $i++) {
    $tmp=$i;
    $d1=floor($tmp / (256*256*256)); $tmp=$tmp-$d1*(256*256*256);
    $d2=floor($tmp / (256*256)); $tmp=$tmp-$d2*(256*256);
    $d3=floor($tmp / 256); $tmp=$tmp-$d3*256;
    $d4=$tmp;
    $ip="$d1.$d2.$d3.$d4";
    if (($d4!=0) && ($d4!=255)){ 
        for ($prt=$pfrom; $prt<=$pto; $prt++) {
            if (sockcheck($ip, $prt, $timeout)) { 
                $file = fopen ($outfile, "a");
                echo "$ip:$prt<br>\n";
                fputs ($file, "$ip:$prt\n");
                fclose($file);
                flush();
                }
            }
        
} } }?>



--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
alligator
Дата 11.9.2005, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Нет зачем у тебя он ищет прокси , а мне нужно чтобы просто список чекал...
Добавлено @ 16:36
Я просто хотел усовершенствовать функцию чека чтобы еще версию сокса возвращал
PM MAIL   Вверх
nerezus
Дата 11.9.2005, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 2
Всего: 43



Ну обычно сейчас все проксисервера держат и сокс4, и сокс5 =)
это относительно версии =)

а вобще сделай проверку для сокс4(у мну сокс5).
и через обе функции прогоняй =)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
alligator
Дата 12.9.2005, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



А зачем через 2 функции если допустим можно послать 2 запроса на сокс и посмотреть ответ что вернёт и из этого выводить ответ потипу 1 - сокс5 2 - сокс4
Где можно посмотреть спецификацию протокола сокс4 ??
я хочу еще сделать прокси чек но это легко просто каким нить гет запросом , хотя можно еще сделать проверку анонимный прокси или нет , только незнаю как это реализовать , а вот проверку на то отвечает ли прокс на комманды я знаю.....В
В общем какая задача:
1 - проверка сокс5\сокс4 и определение версий удалённых серверов
2 - проверка прокси http\https и определение типа удалённого сервера(как определить http\https)
3 - ну и само сабой вывод результата работы

И всё же меня еще мучает такой вопрос через что лучше организовать через :
socket_* или fsockopen что быстрее и оптимальнее ?


PM MAIL   Вверх
nerezus
Дата 12.9.2005, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 2
Всего: 43





--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
user665
Дата 8.12.2009, 02:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 8.12.2009

Репутация: нет
Всего: нет



А нет не у кого PHP готового скрипта который чекает socks5?

Это сообщение отредактировал(а) user665 - 8.12.2009, 16:40
PM MAIL   Вверх
Pfailed
Дата 8.12.2009, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 1
Всего: 39



Ссылку на rfc1928 на русском уже давали. На самом деле там ничего сложного.
Нужно только понимать несколько фундаментаьных вещей: сколько бит в байте, что такое шестнадцетеричная система счисления, для чего нужны функции pack/unpack.

В первом приближении подключение к socks5 можно оформить следующим образом:
Код

<?php
    //rfc1928
    //http://www.realcoding.net/article/view/639
    
    function get_socks5_socket($socks_host, $socks_port, $host, $port, $timeout=30)
    {
        $ip = gethostbyname($host);
        
        if(!$sock = fsockopen($socks_host, $socks_port, $errno, $errstr, $timeout))
        {
            return false;
        }
        
        stream_set_timeout($sock, $timeout);
        
        if(!fwrite($sock, "\x05\x01\x00"))
        {
            fclose($sock);
            return false;
        }
        
        if(strlen($response = fread($sock, 3)) != 2)
        {
            fclose($sock);
            return false;
        }
        
        if($response[1] != "\x00")
        {
            fclose($sock);
            return false;
        }
        
        if(!fwrite($sock, "\x05\x01\x00\x01".pack("Nn", ip2long($ip), $port)))
        {
            fclose($sock);
            return false;
        }
        
        if(strlen($response = fread($sock, 11)) != 10)
        {
            fclose($sock);
            return false;
        }

        if($response[1] != "\x00")
        {
            fclose($sock);
            return false;
        }
        
        return $sock;
    }
?>


Далее с возвращенным значением можно работать как с обычным сокетом (если не возвратился false).


--------------------
PM MAIL   Вверх
krypt3r
Дата 21.12.2009, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 9.6.2009

Репутация: 1
Всего: 16



Цитата

А нет не у кого PHP готового скрипта который чекает socks5?

На перле есть только. Для его написания достаточно было инфы с вики и снифера
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0818 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.