![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Сабж собственно =))
Подскажите как сделать socks5 чекинг.... Прочитал туториал про socks5 http://codenet.ru/webmast/socks51.php такой вопрос у соксов есть комманды в спецификации написаны запросы как мне выполнить нужный запрос ? не понятно То что надо коннектить через сокеты это понятно вот что нужно записать в сокет и в каком формате нет =(( Это сообщение отредактировал(а) alligator - 1.9.2005, 23:39 -------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
А это не socket_* случаем?
|
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
fsockopen открываем подключение на сокс
fputs вставляем комманду , у меня есть пример только я незнаю как он работает а мне интересно хочу сделать свой вариант вот пример:
Добавлено @ 12:26 я незнаю через что лучше делать, подскажите пожалуйста? Это сообщение отредактировал(а) alligator - 3.9.2005, 12:22 -------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
Я имел ввиду класс фунций socket_*();
|
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Ну да я понял.... что ты это имел ввиду , через эти функции делать ?
-------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
Ага.
|
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Окей попробуем...
-------------------- |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Не хочет ничего выводить =(
и оч долго коннектит на сокс , что не есть гуд
Это сообщение отредактировал(а) alligator - 4.9.2005, 23:01 -------------------- |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Ну что ни кто не поможет чтоль ((
-------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
alligator а только с данным сервером?
Порт все-таки 80, а не 1080 должен быть. |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Нет именно 1080 ,сокс висит на это порту
Добавлено @ 09:34 Пока только с одним для начала хочу реализовать проверку хотябы одного а потом уже можно и цикл сделать -------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
alligator
1. Проверь он так только с этим хостом работает или с любыми. 2. Виснет именно на коннекте или на чтении? |
|||
|
||||
| alligator |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
На чтении виснет
Добавлено @ 09:44
Сокс вроде рабочий если добовляю виснет
Это сообщение отредактировал(а) alligator - 11.9.2005, 09:44 -------------------- |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
socket_strerror() че-ть выдает?
Попробуй так: $a2 = socket_read ($sopen,1024,PHP_BINARY_READ); ТОлько ты не забывай, что твой код выводит только первый килобайт.... |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
да я знаю мне для начала нужно посмотреть что он вооще выводит.
Ничего не выводит
http://vipartconcert.ru/php/77/t.php -------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
Так. а на другом IP пробовал?
Если он виснет на чтении, значит что-то не так коннектом... Попробуй PHP_NORMAL_READ |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Не могу найти других беспланых соксов ((
-------------------- |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
-------------------- |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Сделал так , токо не пойму как ответы разбирать(
выводит: 005b4e8000f0fa7f Это сообщение отредактировал(а) alligator - 11.9.2005, 10:54 -------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
Поставь цикл while и в нем read...
|
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Что то я не догнал а цикл зачем ?
-------------------- |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 -------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
Ну тыже читаешь первые 4096 байт, а остальное как же? |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
дык а больше не нужно
-------------------- |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 2 Всего: 43 |
Вот кусок моего (nerezus(ICQ 547097), 2005, GPL v.2)
|
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
кстати если использовать pack("nvc*",05,02,00,01); то нормально будет ?
заместо hex2bin ? Добавлено @ 14:56 Да спасибо вот я как раз пытаюсь разобраться с твоим кодом , хочу немного модифицировать его.... -------------------- |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 2 Всего: 43 |
hexlen кстати не нужна тут(она при работе с аськой нужна будет)
а hex2bin сам знаю, что хреново писана: когда писал, я пхп не зал. |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Поможешь доработать ?
-------------------- |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 2 Всего: 43 |
ты это хочешь сделать?
|
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Нет зачем у тебя он ищет прокси , а мне нужно чтобы просто список чекал...
Добавлено @ 16:36 Я просто хотел усовершенствовать функцию чека чтобы еще версию сокса возвращал -------------------- |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 2 Всего: 43 |
Ну обычно сейчас все проксисервера держат и сокс4, и сокс5 =)
это относительно версии =) а вобще сделай проверку для сокс4(у мну сокс5). и через обе функции прогоняй =) |
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
А зачем через 2 функции если допустим можно послать 2 запроса на сокс и посмотреть ответ что вернёт и из этого выводить ответ потипу 1 - сокс5 2 - сокс4
Где можно посмотреть спецификацию протокола сокс4 ?? я хочу еще сделать прокси чек но это легко просто каким нить гет запросом , хотя можно еще сделать проверку анонимный прокси или нет , только незнаю как это реализовать , а вот проверку на то отвечает ли прокс на комманды я знаю.....В В общем какая задача: 1 - проверка сокс5\сокс4 и определение версий удалённых серверов 2 - проверка прокси http\https и определение типа удалённого сервера(как определить http\https) 3 - ну и само сабой вывод результата работы И всё же меня еще мучает такой вопрос через что лучше организовать через : socket_* или fsockopen что быстрее и оптимальнее ? -------------------- |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 2 Всего: 43 |
socket_*, ибо неблок. поставишь
http://socks.permeo.com/protocol/socks4.protocol http://socks.permeo.com/protocol/socks4a.protocol |
|||
|
||||
| user665 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 8.12.2009 Репутация: нет Всего: нет |
А нет не у кого PHP готового скрипта который чекает socks5?
Это сообщение отредактировал(а) user665 - 8.12.2009, 16:40 |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 1 Всего: 39 |
Ссылку на rfc1928 на русском уже давали. На самом деле там ничего сложного.
Нужно только понимать несколько фундаментаьных вещей: сколько бит в байте, что такое шестнадцетеричная система счисления, для чего нужны функции pack/unpack. В первом приближении подключение к socks5 можно оформить следующим образом:
Далее с возвращенным значением можно работать как с обычным сокетом (если не возвратился false). |
|||
|
||||
| krypt3r |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: 1 Всего: 16 |
На перле есть только. Для его написания достаточно было инфы с вики и снифера |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Сеть | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |