Нет.Ping и traceroute используют сетевые протоколы нижнего уровня (в частности, ICMP и / или UDP, которые являются протоколами уровня 4) и не будут работать через туннель HTTP (уровень 7).В любом случае, даже если бы вы могли убедить прокси-сервер HTTP открыть для вас необработанный сеанс TCP (как работает некоторое туннелирование HTTP), вы не получили бы необходимые пакеты для подтверждения доступности хоста.(Эхо-ответ ICMP в случае ping или ICMP-пакетов с истекшим сроком действия в случае traceroute)
Чтобы проверить подключение в этой ситуации, я думаю, что лучшее, что вы можете сделать, этоHTTP "пинг".(Попробуйте установить HTTP-соединение с удаленным хостом и посмотрите, работает ли оно.) Например, вы можете сделать что-то вроде:
$ http_proxy=http://webproxy.example.com:3128 \
> curl -I http://google.com/ > /dev/null 2>&1 \
> && echo success || echo failure
Если у вас установлено curl
, это выдает «success»если сайт google.com доступен через ваш прокси-сервер, а если нет - "сбой".