매일 업데이트
2023-04-17 05:17 9 min

cURL 및 wget과 함께 프록시를 사용하는 방법은 무엇입니까?

프록시 서버 활용법: cURL 및 wget 명령어 활용 가이드

특정 웹사이트나 서비스 접속에 어려움을 겪고 계신가요? 차단된 콘텐츠에 자유롭게 접근하고 싶으신가요? 그렇다면 cURL 또는 wget과 같은 명령줄 도구를 통해 프록시 서버를 사용하는 것이 효과적인 해결책이 될 수 있습니다. 지금부터 프록시 서버의 개념과 작동 방식, 그리고 cURL 및 wget을 이용한 프록시 서버 사용법을 상세히 알아보겠습니다.

프록시 서버란 무엇일까요?

프록시 서버는 사용자의 기기(컴퓨터, 스마트폰 등)와 인터넷 사이에서 중개자 역할을 하는 서버입니다. 사용자가 웹사이트나 서비스에 접속을 시도하면, 해당 요청은 목표 서버로 직접 전달되지 않고 먼저 프록시 서버로 향하게 됩니다. 프록시 서버는 사용자를 대신하여 목표 서버에 요청을 보내고, 그 응답을 다시 받아 사용자에게 전달합니다. 이는 마치 개인 비서가 사용자와 목표 서버 간의 모든 통신을 처리하는 것과 같습니다.

그렇다면 왜 프록시 서버를 사용하는 것일까요? 그 이유는 다양합니다.

첫째, 프록시 서버는 사용자의 개인 정보 보호 및 익명성 확보에 도움을 줍니다. 프록시 서버를 통해 웹사이트나 서비스에 접속하면 사용자의 실제 IP 주소가 목표 서버에 노출되지 않고, 대신 프록시 서버의 IP 주소가 표시됩니다. 따라서 웹사이트에서 사용자의 온라인 활동을 추적하기가 더욱 어려워집니다.

둘째, 프록시 서버는 콘텐츠 필터링 기능을 제공합니다. 특히 조직이나 기업에서는 특정 유형의 콘텐츠에 대한 접근을 제한하거나 관리할 때 프록시 서버를 유용하게 활용할 수 있습니다. 예를 들어, 특정 키워드나 URL 카테고리를 기준으로 특정 웹사이트 접속을 차단하도록 프록시 서버를 구성하여 직원의 업무 시간 중 부적절한 웹사이트 접속을 막을 수 있습니다.

프록시와 VPN의 차이점에 대해 더 자세히 알고 싶으시다면 관련 자료를 참고해 주세요.

cURL을 이용한 프록시 서버 사용법

cURL은 서버 간 데이터 전송에 사용되는 오픈 소스 명령줄 도구입니다. 다양한 프로토콜(HTTP, FTP, SMTP 등)을 지원하며, 복잡한 데이터 전송 작업도 쉽게 처리할 수 있다는 장점이 있습니다. 또한, 전송 과정에서 데이터를 안전하게 보호하기 위한 다양한 보안 암호화 방법도 제공합니다. cURL은 대부분의 운영체제에서 기본적으로 사용할 수 있으며, 만약 설치되어 있지 않다면 쉽게 다운로드하여 설치할 수 있습니다.

cURL 설치 방법은 다음과 같습니다:

윈도우

  • cURL 실행 파일을 공식 웹사이트에서 다운로드합니다.
  • 다운로드한 zip 파일을 원하는 폴더에 압축 해제합니다.
  • 시스템의 PATH 환경 변수에 해당 폴더 경로를 추가합니다.

맥 OS

  • 터미널 애플리케이션을 실행합니다.
  • 아래 명령어를 입력하여 Homebrew를 설치합니다 (미설치 시).
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 이제 다음 명령을 실행하여 cURL을 설치합니다.
brew install curl

리눅스

대부분의 Linux 배포판에서는 cURL이 기본적으로 설치되어 있습니다. 만약 설치되어 있지 않다면, 해당 배포판에 맞는 패키지 관리자를 사용하여 설치해야 합니다. 예를 들어, Ubuntu나 Debian에서는 다음 명령어를 실행하여 cURL을 설치할 수 있습니다.

sudo apt-get install curl

CentOS나 Fedora에서는 다음 명령어를 사용합니다.

sudo yum install curl

cURL 설치 후에는 터미널/명령 프롬프트에서 “curl –version” 명령어를 입력하여 정상적으로 설치되었는지 확인할 수 있습니다.

이제 프록시 서버를 사용하여 cURL 명령어를 실행하는 방법을 알아보겠습니다. cURL 명령어에서 -x 또는 --proxy 옵션을 사용하여 프록시 서버 주소와 포트 번호를 지정할 수 있습니다. 기본적인 구문은 다음과 같습니다.

curl -x <프록시_서버_주소>:<포트_번호> <접속_URL>

여기서 <프록시_서버_주소>는 프록시 서버의 호스트 이름 또는 IP 주소이고, <포트_번호>는 프록시 서버가 사용하는 포트 번호이며, <접속_URL>은 접속하고자 하는 웹사이트 또는 API 엔드포인트 URL입니다. 다음은 예시입니다.

curl -x 5.189.184.6:80 ipinfo.io

위 명령어는 포트 80의 5.189.184.6 프록시 서버를 통해 ipinfo.io 웹사이트에 접속합니다. 이 예시 프록시 주소는 공개 프록시 목록에서 가져온 것입니다. 무료 프록시 주소를 찾고 있다면 해당 웹사이트를 방문해 보십시오. 단, 사용에 따른 책임은 본인에게 있습니다. ☢️

경우에 따라 프록시 서버에 인증 정보(사용자 이름 및 비밀번호)를 제공해야 할 수도 있습니다. 이 경우, --proxy-user 및 --proxy-password 옵션을 사용하여 사용자 이름과 비밀번호를 포함할 수 있습니다. 예를 들면 다음과 같습니다.

curl -x 5.189.184.6:80 --proxy-user 사용자이름:비밀번호 <목표_URL>

여기서 “사용자이름”과 “비밀번호”는 실제 프록시 서버의 인증 정보로 바꿔야 합니다.

cURL을 이용한 프록시 연결 테스트

프록시 사용 전

다음 그림을 보면 cURL이 제 원래 IP 주소와 위치를 표시하는 것을 볼 수 있습니다. 보안상의 이유로 IP 주소는 가렸습니다.

프록시 사용 후

다음 그림을 보면 cURL이 제 원래 IP 주소 대신 프록시 서버 주소를 표시하는 것을 확인할 수 있습니다.

wget을 이용한 프록시 서버 사용법

wget은 인터넷에서 파일을 다운로드하는 데 사용되는 명령줄 도구입니다. 대부분의 Linux, Unix 및 macOS 시스템에 기본적으로 설치되어 있으며, Windows에서도 사용할 수 있습니다. Linux 시스템에 wget을 설치하려면 해당 배포판의 패키지 관리자를 사용하면 됩니다.

예를 들어 Debian 또는 Ubuntu에서는 다음 명령어를 사용할 수 있습니다.

sudo apt-get install wget

CentOS 또는 Fedora에서는 다음 명령어를 사용합니다.

sudo yum install wget

macOS에서는 Homebrew를 사용하여 wget을 설치할 수 있습니다.

brew install wget

Windows에서는 공식 GNU 웹사이트에서 바이너리 실행 파일을 다운로드하고 시스템 경로에 추가하여 wget을 설치할 수 있습니다.

wget 설치 후에는 다운로드할 파일의 URL을 지정하여 명령줄에서 파일을 다운로드할 수 있습니다. 예를 들어, 웹사이트에서 "example.zip"이라는 파일을 다운로드하려면 다음 명령어를 사용할 수 있습니다.

wget http://example.com/example.zip

또한, 다운로드 속도 제한, 중단된 다운로드 재개 등 다양한 옵션을 사용하여 다운로드를 사용자 정의할 수도 있습니다. 사용 가능한 옵션에 대한 자세한 내용은 터미널에 "man wget"을 입력하여 wget 설명서를 참조하십시오.

이제 wget을 사용하여 프록시 서버를 구성하는 방법을 자세히 살펴보겠습니다. 먼저 터미널에서 다음 명령어를 실행하여 프록시 서버에 대한 환경 변수를 설정합니다.

export http_proxy=http://<프록시_서버_주소>:<포트>
export https_proxy=https://<프록시_서버_주소>:<포트>

다음 명령어를 실행하여 프록시 서버가 올바르게 구성되었는지 테스트합니다.

wget <목표_URL>

<목표_URL>은 프록시 서버를 사용하여 다운로드하려는 파일 또는 웹페이지의 URL로 대체해야 합니다. 명령어가 파일 또는 웹페이지 다운로드에 성공하면 프록시 서버가 올바르게 구성된 것입니다. 만약 실패한다면 프록시 서버 설정과 인증 정보를 다시 확인해야 합니다.

(선택 사항) 프록시 서버 설정을 영구적으로 만들려면 ~/.bashrc 또는 ~/.bash_profile과 같은 쉘 프로필 파일에 환경 변수를 추가할 수 있습니다. 파일의 끝에 다음 행을 추가하면 됩니다.

export http_proxy=http://<프록시_서버_주소>:<포트>
export https_proxy=https://<프록시_서버_주소>:<포트>

프록시 서버에 인증이 필요한 경우, "http_proxy" 및 "https_proxy 환경 변수"에 사용자 이름과 암호를 포함할 수 있습니다.

export http_proxy=http://<사용자_이름>:<비밀번호>@<프록시_서버_주소>:<포트>
export https_proxy=https://<사용자_이름>:<비밀번호>@<프록시_서버_주소>:<포트>

참고: 일부 프록시 서버는 "http" 또는 "https" 대신 socks와 같은 다른 프로토콜을 사용할 수 있습니다. 이 경우에는 환경 변수 및 URL에 따라 프로토콜을 조정해야 합니다.

wget을 이용한 프록시 연결 테스트

프록시 사용 전

wget은 프록시 서버 주소를 사용하기 전 제 원래 IP 주소를 보여줍니다. 보안상의 이유로 IP 주소는 가렸습니다.

프록시 사용 후

다음 그림에서 볼 수 있듯이 wget은 웹사이트에 접속하기 전에 프록시 서버에 연결을 시도합니다.

일반적인 문제 해결

cURL 및 wget과 함께 프록시 서버를 사용하다 보면 종종 문제가 발생할 수 있습니다. 하지만 걱정하지 마십시오. 다음은 몇 가지 일반적인 문제 해결 팁입니다!

#1. 프록시 서버가 응답하지 않음

프록시 서버가 응답하지 않는다면 서버가 다운되었거나 문제가 발생했을 수 있습니다. 문제를 해결하려면 다음을 시도해 보십시오.

  • 프록시 서버의 IP 주소를 ping하여 서버가 작동 중인지 확인합니다.
  • 프록시 서버 주소와 포트 번호를 올바르게 입력했는지 확인합니다.
  • 다른 프록시 서버를 사용해 보고 문제가 지속되는지 확인합니다.

#2. 연결 거부됨

연결 거부 오류는 프록시 서버가 연결을 허용하지 않을 때 발생합니다. 다음은 이 문제를 해결하기 위한 몇 가지 단계입니다.

  • 프록시 서버가 IP 주소 또는 서브넷의 연결을 허용하도록 구성되어 있는지 확인합니다.
  • 프록시 서버가 방화벽이나 바이러스 백신 소프트웨어에 의해 차단되고 있지 않은지 확인합니다.
  • 프록시 서버에 인증 정보가 필요한지 확인하고, 올바른 정보를 입력했는지 확인합니다.

이러한 방법으로 해결되지 않는다면 다른 프록시 서버를 시도해 보는 것이 좋습니다.

#3. SSL/TLS 인증서 확인 실패

인증서 확인 실패 오류는 프록시 서버의 SSL/TLS 인증서에 문제가 있을 때 발생합니다. 이 문제를 해결하려면 다음을 시도해 보십시오.

  • 프록시 서버의 인증서가 유효하고 만료되지 않았는지 확인합니다.
  • 인증서가 유효하지 않다면 프록시 서버 관리자에게 문의하여 유효한 SSL/TLS 인증서를 받습니다.
  • 만약 인증서가 유효하지만 여전히 문제가 발생한다면 SSL/TLS 인증서 확인을 비활성화할 수 있습니다. 하지만 이 방법은 보안상 위험할 수 있으므로 신중하게 사용해야 합니다.

#4. 인증 실패

프록시 서버에 인증이 필요한데 인증에 실패하는 경우, 잘못된 사용자 이름과 비밀번호를 입력했거나 프록시 서버가 다른 인증 방법을 사용하고 있기 때문일 수 있습니다. 인증 정보를 다시 확인하거나 프록시 서버 관리자에게 도움을 요청하십시오.

작가 노트✍️

인터넷에는 수많은 무료 및 유료 프록시 제공업체가 있지만, 상업적으로 추천할 만한 옵션 중 하나는 IPRoyal입니다. IPRoyal은 기업을 위한 다양한 프록시 솔루션을 제공하며, 다양한 위치 및 IP 유형의 주거용 및 데이터 센터 프록시를 선택할 수 있습니다. 웹 스크래핑, 데이터 마이닝, 자동화 등 다양한 사용 사례에 안정적이고 안전한 프록시 서비스를 제공합니다.

이 가이드가 cURL 및 wget 명령줄 도구를 사용하여 프록시 서버를 활용하는 방법을 배우는 데 도움이 되었기를 바랍니다. 프록시 체인과 Tor 네트워크를 사용하여 Linux 트래픽을 익명화하는 방법에도 관심을 가져보시면 좋을 것입니다.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.