한국정보기술진흥원한국인공지능올림피아드 (KOAI) 2026 개최안내

컬(curl) 없는 컨테이너에서 HTTP 요청, 배시 '/dev/tcp'로 해결...추가 설치 없이 셸만으로 가능

컬 없는 컨테이너에서 배시만으로 HTTP 요청을 보내는 방법이 공유됐다.
[한국정보기술신문] 개발자 마레크 슈파(Marek Šuppa)가 6월 16일 자신의 블로그에 컬(curl) 같은 별도 도구 없이 배시(bash) 셸만으로 HTTP 요청을 보내는 방법을 공개했다. 그는 한 컨테이너가 내부 도커(Docker) 네트워크를 통해 다른 서비스에 닿는지 확인하려 했으나, 사용 중이던 이미지가 최소 구성으로 깎여 있어 컬도 wget도 없는 상황에 부딪혔다고 밝혔다. 소켓을 열 만한 다른 도구도 없었지만, 이미 들어 있는 배시 자체로 문제를 해결했다는 것이 글의 요지다.
여기서 컨테이너는 프로그램과 실행 환경을 한데 묶어 어디서나 동일하게 돌아가도록 만든 격리된 실행 단위를 말한다. 컬과 wget은 명령어 한 줄로 웹 주소에 접속해 응답을 받아오는 대표적인 도구다. 운영에 꼭 필요한 것만 담아 용량을 줄인 이른바 최소 구성 이미지에서는 이런 도구가 빠져 있는 경우가 많다.
pakata-goh-EJMTKCZ00I0-unsplash.jpg
Unsplash 제공

셸 자체가 HTTP를 처리한다

슈파가 제시한 방법의 핵심은 배시의 '/dev/tcp' 기능이다. 그는 우선 'exec 3<>/dev/tcp/service/8642' 명령으로 대상 호스트와 포트에 연결을 열고, printf 명령으로 'GET /health' 요청문을 직접 써 보낸 뒤, cat 명령으로 응답을 읽어 들이는 세 줄짜리 예시를 소개했다. 여기서 'service'는 접속하려는 상대의 호스트 이름으로, 도커 네트워크에 설정된 컨테이너나 서비스 이름처럼 이름이 실제로 풀려 닿을 수 있는 주소여야 한다고 설명했다.
이 방식으로는 응답의 상태 줄과 헤더, 빈 줄, 본문이 모두 그대로 출력된다. 슈파는 인증 토큰처럼 헤더를 덧붙이고 싶을 때는 요청을 끝내는 빈 줄 앞에 'Authorization: Bearer' 줄을 하나 더 넣으면 된다며, 'GET /v1/models' 요청에 토큰을 함께 보내는 예시도 함께 제시했다.

"'/dev/tcp'는 실제 파일이 아니다"

슈파는 처음 이 기능을 접했을 때 가장 헷갈렸던 점으로 '/dev/tcp'가 실제로 디스크에 존재하는 장치 파일이 아니라는 사실을 꼽았다. 해당 경로를 목록으로 조회해도 아무것도 나오지 않고, 다른 셸에서 그 경로를 읽으려 하면 오류만 난다는 것이다. 이는 배시가 내부적으로 처리하는 일종의 방향 전환(redirection) 표기일 뿐이라고 그는 설명했다.
배시 설명서에 따르면 호스트가 유효한 이름이나 인터넷 주소이고 포트가 정수형 포트 번호 또는 서비스 이름이면, 배시는 해당하는 TCP 소켓을 열려고 시도한다. 슈파는 '/dev/tcp'와 '/dev/udp'라는 이름이 실제 유닉스 계열 시스템에는 존재하지 않아 기존 경로와 충돌할 일이 없어 선택된 것이라고 전했다. 이 과정에서 배시가 이름을 주소로 바꾸는 작업과 연결 수립을 대신 처리해 주고, 'exec 3<>' 구문이 그 소켓을 다른 파일처럼 읽고 쓸 수 있는 통로로 넘겨준다는 설명이다.

연결 종료 헤더 필수...TLS는 지원 안 해

슈파는 이 방법을 쓸 때 알아둬야 할 점도 함께 정리했다. 우선 요청에 'Connection: close' 헤더를 반드시 넣어야 한다고 강조했다. 이 헤더가 없으면 서버가 응답 후에도 연결을 계속 열어 두는 HTTP/1.1의 기본 동작 탓에, 응답을 읽는 명령이 오지 않는 데이터를 무한정 기다리게 된다는 것이다. 그는 서버에 연결을 닫도록 요청하면 이 문제가 해결되며, 명령 전체를 시간제한(timeout) 안에서 실행하면 어느 경우든 안전하다고 덧붙였다.
다음으로 이 방법은 암호화 통신(TLS)을 지원하지 않는다는 점을 짚었다. '/dev/tcp'가 여는 것은 암호화되지 않은 일반 소켓이어서 평문 HTTP에서만 작동하며, 보안이 적용된 https 주소에 접속하려면 별도 도구가 필요하고 그쯤이면 차라리 제대로 된 도구를 갖추는 편이 낫다는 설명이다.
또한 이 기능은 배시 고유의 것으로, 모든 셸이 공통으로 지키는 표준 규격(POSIX)에 속하지 않는다. 데비안 계열의 기본 셸인 대시(dash)나 지셰(zsh)에는 이 기능이 없어, 해당 셸을 쓰는 스크립트에서는 쓸 수 없고 배시를 직접 불러 써야 한다고 그는 밝혔다. 마지막으로 이 기능은 배시를 만들 때 특정 옵션을 켜야만 들어가는 컴파일 시점 선택 사항이라는 점도 덧붙였다. 대부분의 일반 배포판은 이 옵션을 켜 두지만, 데비안이 오랜 기간 꺼진 채로 배포했던 만큼 오래되거나 극도로 단출한 시스템에서는 사용 가능 여부를 먼저 확인하는 것이 좋다고 권했다.

"평소엔 컬이 정답, 설치 못 하는 컨테이너에서만"

슈파는 평소 작업에서는 여전히 컬이 적절한 도구라고 선을 그었다. 다만 아무것도 추가로 설치할 수 없는, 의도적으로 작게 만든 컨테이너 안에서라면 이 방법으로 패키지 하나 늘리지 않고도 빠른 점검을 끝낼 수 있다고 글을 맺었다.
한국정보기술신문 정보기술분과 강민규 기자 news@kitpa.org

함께 읽으면 좋은 기사

한국인공지능올림피아드 'KOAI 2026' 국가대표 선발전 진출자 14명 확정...서울과학고 최다 4명, 고2·고3이 다수...6월 13일 온라인 필기시험 거쳐 15일 발표, 전국 7개 시·도 9개 학교서 진출

한국인공지능올림피아드 'KOAI 2026' 국가대표 선발전 진출자 14명 확정...서울과학고 최다 4명, 고2·고3이 다수...6월 13일 온라인 필기시험 거쳐 15일 발표, 전국 7개 시·도 9개 학교서 진출

교육 · 인공지능 2
삼성전자, 파리 '비바테크 2026'서 '커넥티드 케어' 건강관리 비전 공개...삼성 헬스 중심으로 기기·서비스 하나로 잇는다...6월 17~20일 전시, 갤럭시·가전·TV에 의료진 연결까지 아우른 '더 건강한 내일' 제시

삼성전자, 파리 '비바테크 2026'서 '커넥티드 케어' 건강관리 비전 공개...삼성 헬스 중심으로 기기·서비스 하나로 잇는다...6월 17~20일 전시, 갤럭시·가전·TV에 의료진 연결까지 아우른 '더 건강한 내일' 제시

정보기술 · 인공지능 4
SK하이닉스, HPE 디스커버 2026서 'AI 메모리 풀 라인업' 펼쳤다...HPE와 파트너십 재확인...HBM4부터 CMM-DDR5·eSSD·서버 D램까지 총망라하며 '풀 스택 AI 메모리 크리에이터' 입증

SK하이닉스, HPE 디스커버 2026서 'AI 메모리 풀 라인업' 펼쳤다...HPE와 파트너십 재확인...HBM4부터 CMM-DDR5·eSSD·서버 D램까지 총망라하며 '풀 스택 AI 메모리 크리에이터' 입증

반도체 · 인공지능 5
구글, AI 바다생물이 붓 되는 추상화 도구 '스플래시 캔버스' 공개...'블롭 오페라' 만든 데이비드 리 신작, 제미나이·처프로 말 거는 다섯 생물이 그림 평까지...물감처럼 번지는 유체 효과에 실시간 소리, 웹브라우저서 바로 체험

구글, AI 바다생물이 붓 되는 추상화 도구 '스플래시 캔버스' 공개...'블롭 오페라' 만든 데이비드 리 신작, 제미나이·처프로 말 거는 다섯 생물이 그림 평까지...물감처럼 번지는 유체 효과에 실시간 소리, 웹브라우저서 바로 체험

인공지능 · 실감형콘텐츠 3
미국 FERC, AI 데이터센터 전력망 연결 가속한다...대규모 전력 수요 '계통 연계' 절차 대폭 손질...6대 권역 전력망 운영기관에 직권 명령, 증설 비용은 수요자가 더 부담하고 유연 부하 입증 땐 심사 60일로 단축

미국 FERC, AI 데이터센터 전력망 연결 가속한다...대규모 전력 수요 '계통 연계' 절차 대폭 손질...6대 권역 전력망 운영기관에 직권 명령, 증설 비용은 수요자가 더 부담하고 유연 부하 입증 땐 심사 60일로 단축

클라우드 · 인공지능 4
삼성전자, 세계 최초 '42nm 3D 적층 트랜지스터' 구현...수평의 한계 수직으로 돌파...2026 VLSI Symposium 베스트 페이퍼 선정, 같은 면적에 트랜지스터 2배 담아 전력효율 2배·성능 100% 향상 기대

삼성전자, 세계 최초 '42nm 3D 적층 트랜지스터' 구현...수평의 한계 수직으로 돌파...2026 VLSI Symposium 베스트 페이퍼 선정, 같은 면적에 트랜지스터 2배 담아 전력효율 2배·성능 100% 향상 기대

반도체 5
애플, 브라질서 앱 외부 결제·대체 마켓 허용...CADE 합의 따라 iOS 26.5부터 단계 시행

애플, 브라질서 앱 외부 결제·대체 마켓 허용...CADE 합의 따라 iOS 26.5부터 단계 시행

정보기술 · 정보보안 4
노암 샤지어, 구글 떠나 오픈AI로...'트랜스포머' 창시자급 AI 석학의 전격 이적...제미나이 공동 리더가 2년도 안 돼 다시 구글 떠나, 오픈AI서 AI 설계 연구 이끌 듯

노암 샤지어, 구글 떠나 오픈AI로...'트랜스포머' 창시자급 AI 석학의 전격 이적...제미나이 공동 리더가 2년도 안 돼 다시 구글 떠나, 오픈AI서 AI 설계 연구 이끌 듯

인공지능 4
삼성전자, 세계 최초 'HBM4E 12단' 샘플 출하...차세대 AI 메모리 시장 주도권 굳힌다...핀당 16Gbps·단일 스택 3.6TB 대역폭에 48GB 고용량 구현, 2월 HBM4 양산 출하 이어 수개월 만에 차세대 제품 공급 개시

삼성전자, 세계 최초 'HBM4E 12단' 샘플 출하...차세대 AI 메모리 시장 주도권 굳힌다...핀당 16Gbps·단일 스택 3.6TB 대역폭에 48GB 고용량 구현, 2월 HBM4 양산 출하 이어 수개월 만에 차세대 제품 공급 개시

반도체 4
구글, 세계 첫 'AI 예술 미술관' 데이터랜드 LA에 연다...데이터가 물감 되는 2300㎡ 몰입 공간, 구글 클라우드가 실시간 구동...6월 20일 개관, 관람객 감정 읽어 영상·소리·향 바꾸고 신진 작가 4명엔 레지던시 지원

구글, 세계 첫 'AI 예술 미술관' 데이터랜드 LA에 연다...데이터가 물감 되는 2300㎡ 몰입 공간, 구글 클라우드가 실시간 구동...6월 20일 개관, 관람객 감정 읽어 영상·소리·향 바꾸고 신진 작가 4명엔 레지던시 지원

인공지능 · 실감형콘텐츠 4
과기정통부, '피지컬 AI 얼라이언스 2기' 출범...정책 논의 넘어 '실행형 협력체계'로 전환

과기정통부, '피지컬 AI 얼라이언스 2기' 출범...정책 논의 넘어 '실행형 협력체계'로 전환

인공지능 · 유관기관 4
SK하이닉스, 신입 채용서 학력 제한 전면 폐지...17일 수시채용부터 실력·성장 가능성 중심 선발...최태원 회장 'AI 인재상' 따라 설계 등 주요 직무 세 자릿수 대규모 채용

SK하이닉스, 신입 채용서 학력 제한 전면 폐지...17일 수시채용부터 실력·성장 가능성 중심 선발...최태원 회장 'AI 인재상' 따라 설계 등 주요 직무 세 자릿수 대규모 채용

반도체 3