본문 바로가기
  • _^**_
무근본 IT 지식 공유

리눅스 커멘드창에서 임시 dns hosts 설정후 curl 테스트 해보는 방법

by 크리드로얄워터 2025. 5. 20.
반응형

리눅스 커맨드라인에서 임시로 DNS 호스트 설정을 하고

curl로 테스트하는 가장 간단한 방법은 --resolve 옵션을 사용하는 것입니다.

이 방법은 시스템의 /etc/hosts 파일을 수정하지 않고도 특정 도메인에 대해 IP를 임시로 지정할 수 있습니다.





✅ 사용 예시


curl --resolve example.com:80:1.2.3.4 http://example.com

✅ 설명

• --resolve 형식:


--resolve <도메인>:<포트>:<IP주소>


• 위 명령어는 example.com에 대해 포트 80으로 접속 시, 1.2.3.4로 강제로 요청을 보냅니다.
• 이는 실제 DNS 질의를 건너뛰고, 해당 도메인에 대해 지정한 IP로 바로 연결합니다.



🧪 테스트 예시

가상의 테스트:


curl --resolve test.mysite.com:443:192.168.0.100 https://test.mysite.com

• https 프로토콜이기 때문에 포트 443을 지정해야 합니다.
• 만약 테스트 서버에 SSL 인증서가 정확히 매칭되지 않는다면, 다음 옵션으로 인증서 검증을 건너뛸 수 있습니다:

curl --resolve test.mysite.com:443:192.168.0.100 https://test.mysite.com -k




🔁 여러 도메인 동시에 설정도 가능


curl --resolve a.com:443:10.0.0.1 --resolve b.com:443:10.0.0.2 https://a.com




💡 대안: /etc/hosts 임시 수정


sudo nano /etc/hosts

192.168.0.100 test.mysite.com

이후:

curl https://test.mysite.com

이 방법은 시스템 전체에 영향을 주므로 테스트 후에는 반드시 되돌리는 것을 권장합니다.



Q1: --resolve 옵션 없이 curl이 특정 IP로 접속하게 하려면 어떻게 설정해야 할까?

Q2: curl 대신 wget에서는 비슷한 기능을 어떻게 구현할 수 있을까?

Q3: 로컬 네트워크에서 가짜 도메인을 활용해 웹 서버 테스트할 때 주의할 점은?

반응형

댓글