whois 명령으로 프록시를 어떻게 사용합니까?

whois 명령으로 프록시를 어떻게 사용합니까?

http_proxy 및 https_proxy로 내보내기를 시도했지만 작동하지 않는 것 같습니다.

명령줄에서 whois 정보를 쿼리할 때 프록시를 사용하는 또 다른 방법이 있을 것 같아요.

답변1

whois 명령은 특정 프로토콜과 포트, 즉 whois 43/tcp; 따라서 분명히 HTTP(S)(기본적으로 HTTP 포트 80/tcp 및 HTTPS 443/tcp)를 사용하려고 합니다.

따라서 HTTP 프록시 인식은 작동하지 않습니다. 해당 프로토콜은 whois 프로토콜의 내부 작동과 관련되지 않기 때문입니다.

외부 프록시를 설정해야 하는 경우 이 예와 같이 양말 인식 프록시가 필요합니다.https://stackoverflow.com/questions/6718836/how-can-i-implement-a-simple-whois-proxy-in-perl

Python의 Whois 프록시에 대해서는 다음을 참조하세요.유후이즈드사용 방법에 대한 추가 설명은 다음을 참조하세요.python: uwhoisd 프록시로 whois를 수행하는 방법

또한보십시오WHOIS 프로토콜 정보

WHOIS 프로토콜은 TCP 포트 43에서 수신 대기하는 간단한 일반 텍스트 기반 프로토콜입니다. 프로토콜을 정의하는 RFC가 있습니다.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

관련 정보