ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[ perl ] perl+socks, трабл тут возник
  #1  
Старый 04.04.2009, 13:54
Whirt
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме:
674665

Репутация: 276
Question [ 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.

Кто нибудь сталкивался с такой проблемой? С таким соксом просто дальше работать невозможно, хотя через браузер все норм..
 
Ответить с цитированием

  #2  
Старый 04.04.2009, 13:57
Vid0k
Постоянный
Регистрация: 24.12.2007
Сообщений: 574
Провел на форуме:
3186852

Репутация: 316


Отправить сообщение для Vid0k с помощью ICQ
По умолчанию

вопрос не в тему как получить такой дебаг запросов?
 
Ответить с цитированием

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

Репутация: 276
По умолчанию

Там дебаг включен
Цитата:
SocksDebug => '1'
 
Ответить с цитированием

  #4  
Старый 04.04.2009, 14:06
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме:
1654818

Репутация: 117
По умолчанию

я как то пытался сделать потдержку соксов без модулей на сокетах чисто, и так у меня не чего и не вышло, потому что соксы возвращают что за хотят нифига не попротоколу). Как и в этом случае, версия 0 скорее всего значит, что сокс может рабоатать как по 4ой версии так и по 5ой.
 
Ответить с цитированием

  #5  
Старый 04.04.2009, 16:25
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Цитата:
по идее должен писать туда 0x05, но пишет почему-то 0x00.

Кто нибудь сталкивался с такой проблемой? С таким соксом просто дальше работать невозможно, хотя через браузер все норм..
Даже если туда 0х05 затолкать все равно работать не будет
 
Ответить с цитированием

  #6  
Старый 04.04.2009, 16:54
Whirt
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме:
674665

Репутация: 276
По умолчанию

Причина в самом IO::Socket::Socks,
+отснифал еще.


он шлет неполные пакеты ,на куски разрывает

, изза этого и глюки с некоторыми socks-серверами.


вообще, модуль уродский если честно, держит только 5 сокс.
нашел ему альтернативу, держит socks 4/5:

http://cpan.uwinnipeg.ca/dist/SOCKS
, сейчас буду тестить
 
Ответить с цитированием

  #7  
Старый 04.04.2009, 16:55
Vid0k
Постоянный
Регистрация: 24.12.2007
Сообщений: 574
Провел на форуме:
3186852

Репутация: 316


Отправить сообщение для Vid0k с помощью ICQ
По умолчанию

чем можно в никсах пакеты снифать?
 
Ответить с цитированием

  #8  
Старый 04.04.2009, 16:59
Whirt
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме:
674665

Репутация: 276
По умолчанию

Wireshark, например. Снифалось им как раз под никсами.
 
Ответить с цитированием

  #9  
Старый 12.04.2009, 23:40
Whirt
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме:
674665

Репутация: 276
По умолчанию

http://cpan.uwinnipeg.ca/dist/SOCKS этот модуль тоже уродско работает с соксами, такое же дробление данных наблюдается, многие socks-сервера откидывают такие запросы,
так что выход - пишем код ручками.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Os - моя крепость Elekt Избранное 32 06.08.2009 15:10
Perl Как использовать FTP через SOCKS? roddik PHP, PERL, MySQL, JavaScript 2 24.02.2009 02:20
Сказки ....народные и разные.. $am1_Dev1c[ Болталка 1 02.12.2006 20:06
Books Perl FRAGNATIC PHP, PERL, MySQL, JavaScript 0 11.08.2005 16:58
Безопасность приложений на Perl k00p3r Чужие Статьи 0 12.06.2005 09:39



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ