Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
[ perl ] perl+socks, трабл тут возник |

04.04.2009, 13:54
|
|
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме: 674665
Репутация:
276
|
|
[ perl ] perl+socks, трабл тут возник
В общем, долгое время пользовался классическим кодом для включения поддержки сокс, который приведен ниже.
Однако, тут стал натыкаться на некоторые соксы, которые присылают неправильный ответ в самом конце, и в них бесполезно что-либо писать и считывать данные, ответ будет пустым.
пример таких соксов:
Код:
91.76.59.174:8363
95.72.95.179:8906
95.78.249.233:8608
Код:
#!/usr/local/bin/perl
use IO::Socket::Socks;
my $proxy = new IO::Socket::Socks(ProxyAddr=>"91.76.59.174",
ProxyPort=>8363,
ConnectAddr=>"perl.org",
ConnectPort=>80,
AuthType=> 'none',
Timeout => '20',
SocksDebug => '1' );
if (!defined($proxy))
{
die($SOCKS_ERROR);
exit(1);
}
print $proxy "GET / HTTP/1.1\r\n".
"Host: perl.org\r\n".
"Connection: close\r\n\r\n";
my $databuf='';
$databuf .= $_ while <$proxy>;
close $proxy;
print $databuf;
Дебаг подключения привожу ниже:
Самый нижний столбик, поле Vers. Сокс вписывает туда некорректное значение..
по идее должен писать туда 0x05, но пишет почему-то 0x00.
Кто нибудь сталкивался с такой проблемой? С таким соксом просто дальше работать невозможно, хотя через браузер все норм..
|
|
|

04.04.2009, 13:57
|
|
Постоянный
Регистрация: 24.12.2007
Сообщений: 574
Провел на форуме: 3186852
Репутация:
316
|
|
вопрос не в тему как получить такой дебаг запросов?
|
|
|

04.04.2009, 13:59
|
|
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме: 674665
Репутация:
276
|
|
|
|
|

04.04.2009, 14:06
|
|
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме: 1654818
Репутация:
117
|
|
я как то пытался сделать потдержку соксов без модулей на сокетах чисто, и так у меня не чего и не вышло, потому что соксы возвращают что за хотят нифига не попротоколу). Как и в этом случае, версия 0 скорее всего значит, что сокс может рабоатать как по 4ой версии так и по 5ой.
|
|
|

04.04.2009, 16:25
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
по идее должен писать туда 0x05, но пишет почему-то 0x00.
Кто нибудь сталкивался с такой проблемой? С таким соксом просто дальше работать невозможно, хотя через браузер все норм..
Даже если туда 0х05 затолкать все равно работать не будет
|
|
|

04.04.2009, 16:54
|
|
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме: 674665
Репутация:
276
|
|
Причина в самом IO::Socket::Socks,
+отснифал еще.
он шлет неполные пакеты ,на куски разрывает
, изза этого и глюки с некоторыми socks-серверами.
вообще, модуль уродский если честно, держит только 5 сокс.
нашел ему альтернативу, держит socks 4/5:
http://cpan.uwinnipeg.ca/dist/SOCKS
, сейчас буду тестить
|
|
|

04.04.2009, 16:55
|
|
Постоянный
Регистрация: 24.12.2007
Сообщений: 574
Провел на форуме: 3186852
Репутация:
316
|
|
чем можно в никсах пакеты снифать?
|
|
|

04.04.2009, 16:59
|
|
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме: 674665
Репутация:
276
|
|
Wireshark, например. Снифалось им как раз под никсами.
|
|
|

12.04.2009, 23:40
|
|
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме: 674665
Репутация:
276
|
|
http://cpan.uwinnipeg.ca/dist/SOCKS этот модуль тоже уродско работает с соксами, такое же дробление данных наблюдается, многие socks-сервера откидывают такие запросы,
так что выход - пишем код ручками.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|