DNS 서버로 공용 IP 주소를 알 수 있는 간편한 방법

3345 단어 dnsipaddress

Originally written in : adityathebe.com



방문할 때 공용 IP 주소를 표시하는 웹사이트가 많이 있습니다. 가장 간단한 방법은 구글에 물어보는 것입니다. 이러한 사이트는 작업을 완료하지만 공개 IP를 지속적으로 모니터링하려는 경우 계속 방문하는 것이 지루해집니다. 브라우저를 실행해야 하며 웹 사이트 자체를 로드하는 데 3-4초가 걸립니다.

ipify API와 같은 편리한 API 서비스가 있습니다. https://api.ipify.org/을 방문하면 일반 텍스트 http 응답을 받게 됩니다. 이 방법은 응답 크기가 작기 때문에 Google에 요청하는 것보다 약간 빠릅니다. 또한 스크립트를 만들 때 사용할 수 있으므로 편리합니다.


Ipify API 서비스

하지만 더 빠른 방법이 있습니다. 훨씬 더 빠르게! 얼마나 빠른지 미쳤어! 100~200밀리초 이상 걸리지 않습니다. 이 방법에는 HTTP 서버가 아닌 DNS 서버를 쿼리하는 작업이 포함됩니다.
dig 명령을 사용하여 DNS 쿼리를 만듭니다. Dig는 대부분의 Linux 배포판에 사전 설치되어 제공되는 DNS 조회 유틸리티입니다.

dig를 사용하여 이와 같은 웹사이트의 IP 주소를 찾을 수 있습니다.

# This will spill out a bunch of metadata
dig adityathebe.com

# This will simply return the ip address
dig +short adityathebe.com

그러나 우리는 일부 웹 사이트가 아닌 라우터의 IP 주소를 찾기 위해 여기에 있습니다. 라우터의 IP 주소를 얻으려면 특수 URL myip.opendns.com을 DNS 확인자 resolver1.opendns.com에 쿼리해야 합니다.

이 DNS 확인자는 해당 특수 URL에 대한 요청이 있을 때 요청자의 IP 주소를 반환하도록 프로그래밍되어 있습니다. 다른 DNS 리졸버로 myip.opendns.com을 쿼리하면 NXDOMAIN 응답을 받게 됩니다. 이는 기본적으로 도메인이 존재하지 않음을 의미합니다.

# To know you public ipv4 address
dig +short myip.opendns.com @resolver1.opendns.com -4

# To know you public ipv6 address
dig +short AAAA myip.opendns.com @resolver1.opendns.com

OpenDNS 외에도 Google과 Akamai도 유사한 기능을 제공합니다.

dig @ns1-1.akamaitech.net ANY whoami.akamai.net +short

dig @ns1.google.com TXT o-o.myaddr.l.google.com +short

Akamai의 서비스는 저에게 조금 느렸습니다.

별명



간단히 publicip 를 입력하여 터미널에서 공용 IP 주소를 쿼리할 수 있도록 zshrc 파일에 별칭을 추가했습니다.

alias publicip='dig +short myip.opendns.com @resolver1.opendns.com -4'

폴리바



# Polybar module

[module/publicip]
type = custom/script
exec = dig @resolver1.opendns.com A myip.opendns.com +short -4
interval = 100
label =  %output%



참조


  • https://unix.stackexchange.com/questions/22615/how-can-i-get-my-external-ip-address-in-a-shell-script/81699#81699
  • https://unix.stackexchange.com/questions/335371/how-does-dig-find-my-wan-ip-adress-what-is-myip-opendns-com-doing
  • 좋은 웹페이지 즐겨찾기