Phương pháp gỡ lỗi sự cố mạng
Kỹ năng điều tra dựa trên bằng chứng, dùng phản chứng và thí nghiệm cô lập theo tầng để truy ra nguyên nhân các lỗi mạng như reset kết nối, SSE đứt giữa chừng hay timeout cố định.
Lập trìnhNâng cao★ 1,323⑂ 212Điểm AI 8/10Cập nhật lần cuối: 8 thg 8, 2026
Làm được gì
- Khi gặp ECONNRESET, HTTP/2 RST_STREAM, SSE/long-polling treo, "luôn hỏng sau N giây", timeout nhàn rỗi của CDN/proxy/CGNAT hay lỗi xác thực chứng chỉ, kỹ năng buộc Claude đi theo trình tự bằng chứng → phản chứng → thí nghiệm quyết định thay vì đoán.
- Cung cấp checklist quy trình 8 bước: xác định phạm vi → kiểm chứng tiền đề → thu thập log ở từng hop → nêu ≥3 giả thuyết kèm điều kiện bác bỏ → thí nghiệm cô lập theo tầng → bổ sung instrumentation → phản biện độc lập → sửa và kiểm chứng lại → ghi lại các ngã rẽ sai.
- Có bảng đọc log reverse proxy (
duration,bytes_read,Content-Length,status=0) để phân biệt 524/522 do thời gian upload body với lỗi xử lý ở backend. - Liệt kê 15 cái bẫy nhận thức thường gặp: proxy/VPN/TUN định tuyến sai, quy tắc CNAME ghi đè quy tắc PROXY, banner dịch vụ không đồng nghĩa với danh tính thiết bị, health check xanh chỉ chứng minh cho đúng đường nó thăm dò.
Phù hợp với ai
- Kỹ sư backend, SRE, DevOps trực tiếp xử lý sự cố production
- Đội vận hành hệ thống nhiều tầng: CDN → reverse proxy → ứng dụng → upstream
- Người làm API streaming (SSE) hoặc endpoint upload dung lượng lớn
- Team lead muốn chuẩn hóa báo cáo hậu sự cố (postmortem)
Ví dụ sử dụng
- "Luồng SSE đứt đúng ở giây thứ 130" → Claude thiết kế 3 đường thử khác nhau đúng một hop (qua CDN /
--resolvethẳng origin / loopback trên server) để chỉ ra tầng nào gây timeout. - "Request 6MB bị Cloudflare trả 524" → kiểm tra log Caddy thấy
bytes_readnhỏ hơnContent-Lengthvàstatus=0, kết luận là timeout upload chứ không phải backend chậm. - "Chỉ một website báo ERR_CONNECTION_CLOSED trên máy tôi" → lần lượt kiểm tra DNS trả IP giả 198.18.x.x, route qua utun, và quy tắc DOMAIN-SUFFIX theo CNAME ghi đè quy tắc PROXY.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/daymade/claude-code-skills/HEAD/debugging-network-issues/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục debugging-network-issues từ repo GitHub daymade/claude-code-skills vào ~/.claude/skills/debugging-network-issues/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/daymade/claude-code-skills.git /tmp/ccs && mkdir -p ~/.claude/skills && cp -r /tmp/ccs/debugging-network-issues ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal.
- Tải repo:
git clone https://github.com/daymade/claude-code-skills.git - Tạo thư mục kỹ năng:
mkdir -p ~/.claude/skills - Sao chép kỹ năng:
cp -r claude-code-skills/debugging-network-issues ~/.claude/skills/ - Kiểm tra các tài liệu trong
references/đã có đủ:ls ~/.claude/skills/debugging-network-issues - Khởi động lại Claude Code, rồi dán đúng thông báo lỗi thật (ví dụ "HTTP/2 INTERNAL_ERROR sau 130 giây") để kích hoạt kỹ năng.
- Thay các tên container/đường dẫn ví dụ (Caddy,
<new-api-container>…) bằng tên hạ tầng thực tế của bạn.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT