Как использовать прокси с командой whois?

Как использовать прокси с командой whois?

Я пробовал экспортировать в http_proxy и https_proxy, но это не сработало.

Я предполагаю, что есть другой способ использовать прокси-сервер при запросе информации Whois из командной строки?

решение1

Команда whois использует определенный протокол и порт, а именно whois 43/tcp; поэтому очевидно, что она пытается использовать HTTP(S) (HTTP-порт 80/tcp и HTTPS 443/tcp по умолчанию).

Поэтому поддержка HTTP-прокси работать не будет, поскольку эти протоколы не участвуют во внутренней работе протокола whois.

Если вам нужно настроить внешний прокси-сервер, вам понадобится прокси-сервер с поддержкой socks, как в этом примере.https://stackoverflow.com/questions/6718836/how-can-i-imple-whois-proxy-in-perl

Для Whois-прокси на Python см.uwhoisdи для получения дополнительных разъяснений по его использованию:python: как выполнить whois с помощью uwhoisd proxy

смотрите такжеО протоколе WHOIS

Протокол WHOIS — это простой текстовый протокол, который прослушивает порт TCP 43. Существует RFC, определяющий протокол,Запрос на предложение 3912.

решение2

КТО— это протокол TCP/IP, HTTP не участвует в запросе, поэтому HTTP-прокси не будет работать.

Если ваш прокси-сервер также предоставляет интерфейс SOCKS, вы можете попробовать использоватьtsocks или proxychains-ng как описано здесьдля выполнения запроса.

решение3

для меня это сработало:

ncat --listen --exec '/usr/bin/ncat --proxy <proxy_ip>:<proxy_port> whois.ripe.net 43' 8043 &

запрос:

whois --host localhost --port 8043 <ip_that_i_want_to_whois>

решение4

Если вы разрешите порту 43 выходить из ваших http-прокси, то вы можете использовать скрипт оболочки, чтобы сделать это с помощью явного CONNECTзапроса.

прохождение $1в качестве whoisхоста, например whois.nic.iana, $2как запрос и $3как прокси-хост

#!/bin/sh
(
sleep 1
echo "CONNECT $1:43 HTTP/1.1"
echo ""

sleep 2
echo "$2"
echo ""
sleep 4

) | telnet $3 8080

Связанный контент