Ich habe versucht, in http_proxy und https_proxy zu exportieren, aber das schien nicht zu funktionieren.
Ich vermute, dass es eine andere Möglichkeit gibt, einen Proxy zu verwenden, wenn Whois-Informationen über die Befehlszeile abgefragt werden?
Antwort1
Der Whois-Befehl spricht in einem bestimmten Protokoll und Port, nämlich whois 43/tcp
; versucht also offensichtlich, ein HTTP(S) zu verwenden (standardmäßig HTTP-Port 80/TCP und HTTPS 443/TCP).
Daher funktionieren HTTP-Proxys nicht, da diese Protokolle nicht an der Funktionsweise des Whois-Protokolls beteiligt sind.
Wenn Sie einen externen Proxy einrichten müssen, benötigen Sie einen Socks-fähigen Proxy, wie in diesem Beispielhttps://stackoverflow.com/questions/6718836/wie-kann-ich-einen-einfachen-whois-proxy-in-perl-implementieren
Einen Whois-Proxy in Python finden Sie unterAbonnierenund für weitere Erläuterungen zur Verwendung:Python: So führen Sie Whois mit dem Uwhoisd-Proxy aus
siehe auchÜber das WHOIS-Protokoll
Das WHOIS-Protokoll ist ein einfaches, auf Klartext basierendes Protokoll, das auf TCP-Port 43 lauscht. Es gibt ein RFC, das das Protokoll definiert,RFC 3912.
Antwort2
WER ISTist ein TCP/IP-Protokoll, HTTP spielt bei der Abfrage keine Rolle und daher funktioniert ein HTTP-Proxy nicht.
Wenn Ihr Proxy-Server auch eine SOCKS-Schnittstelle bietet, können Sie versuchen,tsocks oder proxychains-ng wie hier beschriebenum die Abfrage durchzuführen.
Antwort3
bei mir hat das funktioniert:
ncat --listen --exec '/usr/bin/ncat --proxy <proxy_ip>:<proxy_port> whois.ripe.net 43' 8043 &
die Abfrage:
whois --host localhost --port 8043 <ip_that_i_want_to_whois>
Antwort4
Wenn Sie Port 43 für den Ausgang Ihrer HTTP-Proxys zulassen, können Sie ein Shell-Skript verwenden, um dies über eine explizite CONNECT
Anfrage zu tun.
Übergabe $1
als whois
Host zB whois.nic.iana
, , $2
als Abfrage und $3
als Proxy-Host
#!/bin/sh
(
sleep 1
echo "CONNECT $1:43 HTTP/1.1"
echo ""
sleep 2
echo "$2"
echo ""
sleep 4
) | telnet $3 8080