Если прокси-сервер получает пакет tcp, то IP-адрес и порт назначения - это IP-адрес и порт прокси. В этом случае я полагаю, что единственный способ, которым прокси-сервер может разрешить предполагаемый пункт назначения, - это либо маршрутизация исходного IP-адреса / порта, либо через поле хоста в заголовке http. Это верно?
Как в http-прокси Fiddler, так и Charles, я заметил, что инструмент принимает как http, так и https-соединения через один порт, который вы можете указать. Что эти инструменты делают, чтобы отличить эти два типа соединений?
HTTP-запросы состоят из команды «GET», «PUT» или аналогичной команды. Запросы HTTPS состоят из запроса «CONNECT», поскольку браузер просит прокси-сервер установить соединение. Прокси-сервер определяет адрес для подключения, потому что это параметр запроса CONNECT.
См. Записи в Википедии на HTTP туннель. Также см эта ссылка который показывает фактический трафик прокси HTTP и HTTPS.