본문 바로가기

OS/LINUX [UNIX]

curl 명령어

728x90

1. 연결 가능 여부 확인

curl http://IP:PORT

curl -I http://IP:PORT ## HEAD 요청만 보내서 빠르게 확인, LB / WAS 헬스 체크로 용이함.

👉 목적

  • TCP 연결 + HTTP 응답 여부 확인
  • 방화벽 / 포트 오픈 여부 1차 체크

👉 결과 해석

  • Connection refused → 포트 안 열림 / 프로세스 없음
  • Connection timed out → 방화벽 or 네트워크 차단
  • HTTP 응답 코드 → 정상 통신

2. 상세 로깅

curl -v http://IP:PORT

👉 확인 포인트

  • DNS 해석
  • TCP 연결 시도
  • TLS handshake
  • HTTP 응답

👉 예시 로그에서 볼 것

*   Trying 192.168.0.10:8080...
* Connected to ...

 

3. 연결 타임아웃 테스트

curl --connect-timeout 3 http://IP:PORT

👉 의미

  • 3초 안에 연결 안 되면 실패

👉 활용

  • 느린 네트워크 vs 차단 구분

4. 전체 타임아웃 (응답 지연 체크)

curl --max-time 5 http://IP:PORT

👉 의미

  • 전체 요청이 5초 넘으면 종료

👉 활용

  • WAS hang / backend 지연 구분

5. 특정 IP 강제 테스트 (VIP vs 실제 서버 구분)

curl --resolve domain.com:443:IP https://domain.com

 

6. HTTPS 인증서 / TLS 테스트

curl -v https://IP:PORT
curl -vk https://IP:PORT # SSL 인증서 무시

👉 확인 가능

  • TLS 버전
  • 인증서 체인
  • handshake 실패 여부

 

7. 특정 인터페이스로 요청 (멀티 NIC 환경)

curl --interface 192.168.56.101 http://IP:PORT

VirtualBox NAT + Host-only 같이 있을 때

 

8. 응답시간 분석 (성능 + 방화벽 구분)

curl -o /dev/null -s -w "DNS:%{time_namelookup} TCP:%{time_connect} TTFB:%{time_starttransfer} TOTAL:%{time_total}\n" http://IP:PORT
DNS:0.001 TCP:0.002 TTFB:0.500 TOTAL:0.501

👉 해석

  • TCP 느림 → 네트워크/방화벽
  • TTFB 느림 → WAS/DB 문제

 

9. 특정 포트만 확인 (HTTP 아닌 경우)

curl telnet://IP:PORT

👉 HTTP 아니어도 TCP 연결 테스트 가능
👉 (DB, AJP, custom port 확인용)

 

10. 반복 테스트 (간헐적 장애 잡기)

while true; do curl -s -o /dev/null -w "%{http_code}\n" http://IP:PORT; sleep 1; done

👉 활용

  • 간헐적 503
  • LB failover 확인

'OS > LINUX [UNIX]' 카테고리의 다른 글

TCP DUMP(2)  (0) 2026.03.09
Rocky Linux9 IP 변경 법  (0) 2026.03.05
TCP DUMP(1)  (0) 2026.01.26
High CPU 현상 시 사용하는 perf 명령어  (2) 2025.06.30
[Solaris] dtrace 사용  (0) 2024.07.18