Верстакфорум практиков
рекламаiprazon: приватные серверные адреса IPv4 и SOCKS5, безлимитный трафик, бесплатный тест до 2 часов
ФорумСети и протоколы

SOCKS5 или HTTP: чем отличаются на практике

rawsocket
rawsocket
Ветеран
сообщений 2290
с фев
22 апреля, 17:27первое сообщение

Держу пакет, где один адрес отдаётся по двум портам: 8080 под схему http и 1080 под сокетную. Полгода лил всё через первую, привык. И вот задача, где она встала намертво: почтовый клиент, порт 587, посредник по схеме http такой разговор просто не понимает.

Полез разбираться и понял, что путал два уровня. Схема http это посредник, который читает сам запрос: видит строку запроса целиком, дописывает свои заголовки, для шифрованного трафика поднимает туннель командой CONNECT и дальше гонит байты вслепую. Сокетная схема про протокол поверх не знает ничего: короткое рукопожатие, команда с адресом и портом, дальше просто труба.

Вопрос к тем, кто щупал руками: осталась ли задача, где схема http выигрывает? У меня набралась одна, переменные окружения её понимают везде.

curl -sv -x http://login:pass@10.0.0.5:8080 https://example.org/ -o /dev/null
curl -sv -x socks5h://login:pass@10.0.0.5:1080 https://example.org/ -o /dev/null
читаю байты, а потом уже документацию
Наиль Габдуллин
Наиль Габдуллин
Знаток
сообщений 1885
с мар
1 сентября, 08:44#2

Выигрыш ровно один, ты его сам назвал: схему http понимает любая обёртка без единой строки кода. Дальше идут сплошные особенности. Посредник видит адрес страницы, когда трафик открытый, дописывает свои заголовки, а для всего, что на веб не похоже, разводит руками.

Сокетная схема живёт уровнем ниже, на соединении. Через неё уходит почта, ssh, самописная железка на своём порту, что угодно с обычным TCP.

разбираю чужие конфиги за печенье
kolyan_86
kolyan_86
Участник
сообщений 640
с июл
8 февраля, 11:01#3

а если тулза умеет только http_proxy, сокетную никак не подсунуть?

rawsocket
rawsocket
Ветеран
сообщений 2290
с фев
15 июля, 14:18#4
Наиль Габдуллин: для всего, что на веб не похоже, разводит руками

Вот на этом я и споткнулся с почтой. kolyan_86, подсунуть можно: поднимаешь локальный переходник, он слушает схему http и уводит трафик в сокетную. Но проще взять клиент, который умеет обе.

читаю байты, а потом уже документацию
Пётр Мельник
Пётр Мельник
Участник
сообщений 810
с июл
22 декабря, 17:35#5

Свёл в табличку то, что мерил у себя, чтобы каждый раз не пересказывать.

ЧтоСхема httpСокетная схема
На каком уровне работаетразбирает запроспробрасывает соединение
Заголовкиможет дописать своине трогает вообще
Открытый вебвидит путь целикомвидит адрес и порт
Шифрованный вебтуннель по CONNECTта же труба
Почта, ssh, своёмимоидёт
Входзаголовок с логиномобмен на рукопожатии
Датаграммынеткоманда есть, если поднята

Отдельно про имя узла: в сокетной схеме имя уходит на сторону посредника только тогда, когда клиент попросит. В схеме http имя едет в запросе всегда.

один и тот же вызов через две схемы
один и тот же вызов через две схемы
сначала замер, потом мнение
veta_l
veta_l
Новичок
сообщений 210
с янв, второй сезон
1 мая, 08:52#6

спасибо, табличка всё разложила. а порт 1080 обязательный?

Наиль Габдуллин
Наиль Габдуллин
Знаток
сообщений 1885
с мар
8 октября, 11:09#7

veta_l, номер условный, историческая привычка. Хоть 9050, хоть 33333, лишь бы на той стороне слушало и брандмауэр пропускал.

У меня пакет как раз с обеими схемами на одном адресе, беру приватные серверные адреса под разбор сайтов и развожу задачи по портам: веб идёт схемой http, почта и вся мелочь сокетной. Трафик безлимитный, поэтому гонять через один пакет два вида задач ничего не стоит.

разбираю чужие конфиги за печенье
kolyan_86
kolyan_86
Участник
сообщений 640
с июл
15 марта, 14:26#8

переходник поднял за десять минут, почта ушла. спасибо

rawsocket
rawsocket
Ветеран
сообщений 2290
с фев
22 августа, 17:43#9

Итог для тех, кто найдёт поиском. Схема http хороша ровно тем, что её съедает любой софт из коробки, и всё. Как только в задаче появляется хоть что-то помимо веба, берите сокетную, она шире и в неё труднее упереться.

Свою почту перевёл на 1080, четвёртые сутки без единого обрыва.

читаю байты, а потом уже документацию