Всем привет, как можно распознать прокси - HTTP/Socks 4/Socks 5. Только по порту или как-то иначе можно?! расскажите плиз
по протоколному запросу. т.е. 1) приконнектился 2) послал запрос. 3) получил ответ. 4) обработал ответ 5) отконнектился и так для socks4/socks5/http если для socks4 - это один пакет TCP коннекта к любому серваку. к примеру гугль. а там пофигу, главное чтобы пришел ответ. Для socks5 - пакет выбора метода авторизации - буквально 3 байта. запрос. и 2 байта ответ. для HTTP - обычный GET запрос
можно 1 сокетом и проверять ответ от сервера, чтобы не делать кучу реквестов 0x04 - socks4 0x05 - socks5 else - http
2 inCode за один коннект не получится потому, что 1) большое кол-во проксей просто игнорят запросы левых протоколов и вызывают сразу дисконнект. т.е. послал socks4 запрос на socks5 сервер, то сервер с большой вероятностью просто сделает дисконнект и ничего не ответит. 2) бывают мультипортовые прокси. т.е. на одном порту сразу идет поддержка и socks4 и socks5 и http
slesh, а не найдется у Вас какой-нить интересной и полезной лит-ры про TCP? Можно еще пример с использованием пакетов, если не сложно)
спасибо, интересный код. Но я хотел узнать как распознать проски, точнее раскидать их по полкам - http\socks4\5
Kandi, зачем тебе документация по TCP? TCP это транспортный протокол, поверх которого работают протоколы прикладного уровня (POP, SMPT, SOCKS, HTTP). Документации по открытым протколам можно найти в RFC. конкретно для socks 5 версии - RFC 1928 А если уметь пользовтаься поиском, не трудно отыскать различия в 4 и 5 версии SOCKS...