Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Избранное (https://forum.antichat.xyz/forumdisplay.php?f=89)
-   -   SOCKS на PHP (https://forum.antichat.xyz/showthread.php?t=177147)

ShAnKaR 28.12.2009 03:25

SOCKS на PHP
 
Вложений: 1
socks на php, в первую очередь планировался как вариант обхода фаервола, когда открыт только 80 порт а необходим доступ к сервисам на других портах. удобно использовать в комлекте с соксификаторами такими как например proxychains.

в комплект входят два скрипта :
client.pl клиент запускается у себя,примерно так
./client.pl 127.0.0.1:1081 http://localhost/server.php
# используются стандартные библиотеки входящие по умолчанию в установочный пакет perl
# IO::Socket::INET, MIME::Base64, Compress::Zlib

server.php - загружается на сервер
#для успешной работы требуется:
#php5, папка доступная для записи ( строчка $IPC_TMPDIR='/tmp/'; ), Registered Stream Socket Transports - unix

клиентский скрипт работает как sock5, пересылая трафик на загруженный серверный скрипт.
запуская с дополнительным третьим аргументом выводится дебаг информация.

написал по своему практически, использовав :
http://sourceforge.net/projects/ssspl/
http://http-tunnel.sourceforge.net/

поделитесь пожалуйста что у кого не работает/обругайте код.

Nightmarе 28.12.2009 15:43

Во! Теперь пэрл без проблемм работает... перл, но не сам сокс.
Во первых мне не совсем понятно, зачем указывать sosk_ip:socks_port, разве не одним локальным портом можно воспользоваться?

Вот у меня такое выходит, запускаю с параметрами:
client.pl 127.0.0.1:51103 http://shinobi.net.ru/servak.php -d
В FireFox выставляю сокс 5, и локальный порт 51103, захожу на сайты - не пашет ни один, зато в консоли наблюдаю такое:
Код:

127.0.0.1:51103 => shinobi.org.ru:80127.0.0.1:51103 => advisordb.wmtransfer.com:
443127.0.0.1:51103 => shinobi.org.ru:80127.0.0.1:51103 => advisordb.wmtransfer.c
om:443127.0.0.1:51103 => shinobi.org.ru:80127.0.0.1:51103 => advisordb.wmtransfe
r.com:443127.0.0.1:51103 => ya.ru:80127.0.0.1:51103 => bar-navig.yandex.ru:80127
.0.0.1:51103 => bar.blogs.yandex.net:80 STATUS: OK
client DISCONNECTED
127.0.0.1:51103 => shinobi.org.ru:80127.0.0.1:51103 => advisordb.wmtransfer.com:
443

То есть заходы на все эти сайты есть, однако FF выдаёт ошибку "Время ожидания соединения истекло".

Да, на сервере рядом со скриптом лежит папка tmp с правами на запись.

ShAnKaR 29.12.2009 13:40

Цитата:

Сообщение от Nightmarе
Во первых мне не совсем понятно, зачем указывать sosk_ip:socks_port, разве не одним локальным портом можно воспользоваться?

да не одним локальным ip.

на счет проблемы- может не резольвятся хосты на серере?( как вариант обратится к http://77.88.21.8/ ) или фаервол исходящие не пускает? я попробую тоже в свою очередь в разных условиях потестить.

Nightmarе 29.12.2009 18:47

Не пашут и IP адреса вместо обычных :(

Вместо sosk_ip вписывал как 127.0.0.1 так и свой домашний IP, всё равно ничего не пашет ;(
Или правильно ли я понимаю, php скрипт сам к тебе коннектится на этот порт чтоли? (Тогда в случае с NAT будет облом)

ShAnKaR 29.12.2009 20:19

Цитата:

Сообщение от Nightmarе
Или правильно ли я понимаю, php скрипт сам к тебе коннектится на этот порт чтоли? (Тогда в случае с NAT будет облом)

нет не конектится ) это данные где сокс поднимается только.

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

на счет xor-шифрование - скорость уменьшается конечно значительно, но зато хоть какая-никакая защита от снифа.

$Atlet$ 29.12.2009 21:28

Тоже не работает, ОС Windows.
Код:

127.0.0.1:51103 => 78.47.**.**:80Read error  at C:\sss.pl line 106.
127.0.0.1:51103 => 78.47.**.**:80Read error  at C:\sss.pl line 106.


ShAnKaR 02.01.2010 19:52

Цитата:

Сообщение от $Atlet$
Тоже не работает, ОС Windows.
Код:

127.0.0.1:51103 => 78.47.**.**:80Read error  at C:\sss.pl line 106.
127.0.0.1:51103 => 78.47.**.**:80Read error  at C:\sss.pl line 106.


возможно у тебя папка /tmp/ не доступна для записи - к примеру если включен open_basedir, обновил скрипты, добавил проверку.

Nightmarе 02.01.2010 20:07

Протестировал.
Сначало при попытке зайти на какой нибудь сайт была белая страница, но и ошибку в консоли выдавало, что директория tmp не доступна на запись (хотя доступна).
Ладно, в php скрипте я указал полный путь до папки tmp и ошибка с записью пропала, но теперь выводит стандартную ошибку:
"Время ожидания соединения истекло"
Лог из консоли прилогаю в текстовом файле:
http://www.sendspace.com/file/iqsoul
Пользовался браузером FireFox ставя пятый сокс.

PS: Народ, почему никто не тестит и не пишет о результатах?

$Atlet$ 05.01.2010 00:11

Все заработало, только некоторые сайты (например http://www.archive.org/) не открываются, браузер(FireFox) выдаёт ошибку:
Код:

Ошибка в типе содержимого

Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или неподдерживаемую форму компрессии.


ShAnKaR 05.01.2010 19:05

Цитата:

Сообщение от $Atlet$
Все заработало, только некоторые сайты (например http://www.archive.org/) не открываются, браузер(FireFox) выдаёт ошибку:
Код:

Ошибка в типе содержимого

Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или неподдерживаемую форму компрессии.


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


Время: 18:53