네트워크 장애 디버깅
증상과 원인이 어긋나는 네트워크·스트리밍·프로토콜 버그를 '반증 우선 + 계층 격리' 방식으로 추적하게 해주는 조사 방법론 스킬입니다.
개발·코딩고급★ 1,323⑂ 212AI 점수 9/10마지막 업데이트: 2026. 8. 8.
무엇을 해주나
ECONNRESET, HTTP/2 RST_STREAM INTERNAL_ERROR, SSE·롱폴링 멈춤, "N초 뒤 항상 끊김", CDN/프록시/CGNAT 유휴 타임아웃, Cloudflare 524/522, TLS 인증서 검증 오류처럼 겉으로 보이는 원인이 대체로 틀린 장애를 다룹니다.
- 추측 금지 원칙: 로그 한 줄, pcap 프레임, 프로브 출력 같은 직접 증거가 없으면 '진단'이 아니라 '추측'으로 간주합니다.
- 반증 질문 강제: 가설마다 "어떤 관찰이 나오면 이 가설을 버리는가?"를 먼저 적게 합니다.
- 계층 격리 실험: 클라이언트 → CDN → LB → 리버스 프록시 → 앱 경로에서 홉을 하나씩만 다르게 한 3개 경로를 동시에 테스트해 책임 계층을 분 단위로 특정합니다.
- Step 0 ~ Step 8 체크리스트: 증상 스코핑 → 전제 검증 → 증거 수집 → 가설 3개 이상 → 결정 실험 → 계측 추가 → 실행 기록 → 반대 리뷰 → 수정 후 동일 실험 재현 → 오답 기록.
- 대용량 POST 진단 레시피:
bytes_readvsContent-Length비교로 '업로드 타임아웃'과 '백엔드 처리 지연'을 구분합니다. - 인지 함정 15종: 정황 증거 수렴, 필드 의미 혼동, 그린 헬스체크 맹신, 프록시 CNAME 규칙 우선순위 착각, 서브넷 변경으로 고아가 된 고정 IP 장비 등.
이런 분께 추천
- SSE·WebSocket·스트리밍 API를 운영하며 원인 불명 연결 끊김을 겪는 백엔드/SRE 엔지니어
- Cloudflare, Caddy, nginx, LB가 겹친 다단 구조에서 524/522/504를 추적해야 하는 인프라 담당자
- Clash/Shadowrocket/Surge 같은 TUN 프록시 환경에서 특정 사이트만 실패하는 문제를 겪는 개발자
- Claude Code에게 "일단 재시작해보자" 대신 근거 기반 조사를 시키고 싶은 팀
활용 예시
- "SSE 응답이 항상 130초에 끊깁니다" → 스킬이 정확한 에러 문자열·타임스탬프를 먼저 요구하고, 유휴 업스트림 모킹 실험으로 CDN·LB·앱 중 어느 홉의 idle timeout인지 특정합니다.
- "Cloudflare가 6MB 업로드 요청에 524를 반환합니다" → Caddy 액세스 로그의
bytes_read=4111422 / Content-Length=6042141 / status=0패턴을 읽어 백엔드가 아니라 업로드 시간 초과임을 증명합니다. - "한 사이트만 ERR_CONNECTION_CLOSED, 다른 사이트는 정상" → DNS 결과가
198.18.x.x같은 가짜 TUN IP인지, CNAME 접미사 DIRECT 규칙이 명시적 PROXY 규칙을 덮었는지 순서대로 검증합니다.
· · · 설치 가이드 · · ·
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 daymade/claude-code-skills 의 debugging-network-issues 폴더를 내 ~/.claude/skills/debugging-network-issues/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/daymade/claude-code-skills.git && mkdir -p ~/.claude/skills && cp -r claude-code-skills/debugging-network-issues ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다. (macOS: 터미널, Windows: WSL 또는 Git Bash)
- 스킬 폴더가 없다면 만듭니다:
mkdir -p ~/.claude/skills - 저장소를 임시 위치에 복제합니다:
git clone https://github.com/daymade/claude-code-skills.git /tmp/ccs - 이 스킬만 복사합니다:
cp -r /tmp/ccs/debugging-network-issues ~/.claude/skills/ references/하위 문서(사례 연구, 패킷 캡처 레시피, 계측 패턴)가 함께 복사됐는지 확인합니다:ls ~/.claude/skills/debugging-network-issues- Claude Code를 재시작한 뒤
/skills로 목록에 나오는지 확인합니다. - 사용법: "SSE 연결이 130초마다 RST_STREAM으로 끊긴다" 처럼 정확한 에러 문자열과 시각을 함께 알려주면 스킬 트리거가 잘 걸립니다.
- 임시 폴더 정리:
rm -rf /tmp/ccs
GitHub에서 원본 보기 ↗라이선스: MIT