whois 명령을 통해 프록시를 사용하는 방법은 무엇입니까?

whois 명령을 통해 프록시를 사용하는 방법은 무엇입니까?

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

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

답변1

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

따라서 이러한 프로토콜은 whois 프로토콜의 내부 작동을 포함하지 않으므로 HTTP 프록시 인식은 작동하지 않습니다.

외부 프록시를 설정해야 하는 경우 이 예와 같이 양말 인식 프록시가 필요합니다.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

관련 정보