Wie verwenden Sie einen Proxy mit dem Whois-Befehl?

Wie verwenden Sie einen Proxy mit dem Whois-Befehl?

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 CONNECTAnfrage zu tun.

Übergabe $1als whoisHost zB whois.nic.iana, , $2als Abfrage und $3als Proxy-Host

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

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

) | telnet $3 8080

verwandte Informationen