📌 ping · telnet · openssl · curl 비교
👉 네트워크 장애 트러블슈팅, 어디서부터 봐야 할까?
네트워크 문제는 하위 계층 → 상위 계층 순서로 확인해야 빠르게 원인을 좁힐 수 있다.
ping, telnet, openssl, curl의 역할과 점검 순서를 정리했다!!
📌 1. 명령어 비교
| 명령어 | 주요 목적 | 사용 프로토콜 | OSI 계층 | 보안 |
| ping | 호스트 생존 여부 확인 | ICMP | Network (L3) | ❌ |
| telnet | TCP 포트 연결 확인 | TCP | Application (L7) | ❌ |
| openssl | SSL/TLS 연결 점검 | SSL/TLS over TCP | Application | ✅ |
| curl | 웹/API 요청 및 데이터 전송 | HTTP(S), FTP 등 | Application (L7) | ✅ |
📌 2. 명령어별 역할과 특징
✅ ping — 네트워크 생존 확인
ping example.com
🔍 역할
- 서버가 네트워크 상에서 살아 있는지 확인
📖 특징
- ICMP Echo Request / Reply 사용
- 포트나 서비스 상태는 확인 불가
⚠️ 주의
- 보안 정책상 ICMP가 차단된 경우가 많음
- ping 실패 = 서버 다운 ❌
🎯 사용 시점
- 장애 발생 시 가장 첫 단계
- 네트워크 연결 여부 1차 확인
✅ telnet — 포트 연결 여부 확인
telnet example.com 8080
🔍 역할
- 특정 TCP 포트가 열려 있는지 확인
📖 특징
- 연결만 성공하면 해당 포트는 접근 가능
- 실제 서비스 정상 동작 여부는 알 수 없음
❌ 단점
- 모든 데이터가 평문
- 운영 환경에서 로그인 용도 사용 금지
🎯 사용 시점
- 방화벽 / 보안 그룹
- 프로세스가 살아 있는지 확인
✅ openssl — SSL/TLS 문제 전담 도구
openssl s_client -connect example.com:443
🔍 역할
- HTTPS, TLS 서비스의 보안 연결 상태 점검
📖 확인 가능 항목
- 인증서 유효기간
- 인증서 체인 오류
- TLS 핸드쉐이크 실패 여부
🎯 사용 시점
- HTTPS 접속 실패
- 인증서 만료, 설정 오류 의심 시
✅ curl — 실제 서비스 요청 테스트
curl https://example.com
curl -X POST https://api.example.com
🔍 역할
- 애플리케이션 레벨에서 실제 요청 전송
📖 특징
- HTTP 상태 코드
- 응답 헤더/바디 확인 가능
- API 테스트에 매우 유용
🎯 사용 시점
- 웹 서버 정상 동작 여부
- API 응답 이상 확인
📌 3. 장애 발생 시 점검 순서 🚨
👉 하위 계층 → 상위 계층
✅ 1️⃣ ping — 네트워크 확인
- 서버가 켜져 있는가?
- 네트워크 연결은 정상인가?
❌ 실패 시 의심 포인트
- IP 설정 오류
- 라우팅 문제
- 방화벽(ICMP 차단)
✅ 2️⃣ telnet — 포트 확인
- 어플리케이션 포트가 열려 있는가?
❌ 실패 시 의심 포인트
- 방화벽 / 보안 그룹
- 프로세스 다운
- 포트 미리스닝
✅ 3️⃣ openssl — HTTPS 보안 확인
- SSL/TLS 설정은 정상인가?
- 인증서 문제는 없는가?
❌ 실패 시 의심 포인트
- 인증서 만료
- 체인 오류
- TLS 설정 문제
✅ 4️⃣ curl — 서비스 동작 확인
- 실제 웹/API가 정상 응답을 주는가?
❌ 실패 시 의심 포인트
- 애플리케이션 로직 오류
- 설정 문제
- 내부 API 장애
🚀 4. 결론
- ping → 서버 살아있나?
- telnet → 포트 열려있나?
- openssl → HTTPS 보안 문제 없나?
- curl → 서비스 진짜 정상인가?
👉 아래부터 위로 차근차근 확인하면 장애 원인을 가장 빠르게 좁힐 수 있다.
'study > 네트워크' 카테고리의 다른 글
| DMZ란? (개념 및 구현 방법) (0) | 2025.04.06 |
|---|