Gỡ lỗi sự cố mạng
Phương pháp điều tra dựa trên bằng chứng cho các lỗi mạng, streaming và tầng giao thức mà triệu chứng không khớp với nguyên nhân bề nổi.
Lập trìnhNâng cao★ 1,323⑂ 212Điểm AI 9/10Cập nhật lần cuối: 8 thg 8, 2026
Làm được gì
Skill này xử lý những sự cố mà nguyên nhân "hiển nhiên" thường là sai: ECONNRESET, HTTP/2 RST_STREAM INTERNAL_ERROR, SSE/long-polling bị treo, "luôn đứt sau N giây", idle timeout của CDN/proxy/CGNAT, Cloudflare 524/522, lỗi xác thực chứng chỉ TLS.
- Bằng chứng thay vì phỏng đoán: nếu không chỉ ra được dòng log, frame pcap hay output probe cụ thể thì đó là đoán, không phải chẩn đoán.
- Phản chứng thay vì xác nhận: mỗi giả thuyết phải kèm câu "quan sát nào sẽ khiến tôi bỏ giả thuyết này?".
- Cô lập theo tầng: chạy cùng một request qua 3 đường chỉ khác nhau đúng một hop (qua CDN /
--resolvetới origin / loopback trên server) để khoanh vùng tầng lỗi trong vài phút. - Checklist Step 0 → Step 8: khoanh vùng triệu chứng, kiểm chứng tiền đề, thu bằng chứng ở mọi hop, ≥3 giả thuyết, thí nghiệm quyết định, thêm instrumentation, phản biện độc lập, sửa rồi chạy lại đúng thí nghiệm cũ, ghi lại các bước đi sai.
- Công thức cho POST body lớn: so
bytes_readvớiContent-Lengthđể tách "timeout khi upload" khỏi "backend chậm". - 15 bẫy nhận thức: bằng chứng gián tiếp cộng dồn, nhầm ngữ nghĩa field
duration, tin health check màu xanh, rule CNAME đè rule PROXY, thiết bị IP tĩnh bị bỏ rơi sau khi đổi subnet…
Dành cho ai
- Backend/SRE vận hành API streaming (SSE, WebSocket) hay bị đứt kết nối không rõ nguyên nhân.
- Người quản trị hạ tầng nhiều tầng Cloudflare → Caddy/nginx → LB → app cần truy nguyên 524/522/504.
- Dev dùng proxy TUN (Clash, Shadowrocket, Surge) gặp tình huống chỉ một site lỗi còn site khác vẫn chạy.
- Nhóm muốn Claude Code điều tra có căn cứ thay vì "thử restart xem sao".
Ví dụ sử dụng
- "Kết nối SSE luôn đứt ở giây thứ 130" → skill bắt bạn cung cấp chuỗi lỗi và timestamp chính xác, rồi dựng upstream im lặng giả để xác định hop nào có idle timeout.
- "Cloudflare trả 524 cho request upload 6MB" → đọc log Caddy
bytes_read=4111422,Content-Length=6042141,status=0để chứng minh đây là timeout upload, không phải backend chậm. - "Chỉ một website lỗi ERR_CONNECTION_CLOSED, các site khác bình thường" → kiểm tra DNS có trả IP TUN giả (
198.18.x.x), route quautun, và ruleDOMAIN-SUFFIX,<cname>,DIRECTcó đè rule PROXY hay không.
· · · Hướng dẫn cài đặt · · ·
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 && mkdir -p ~/.claude/skills && cp -r claude-code-skills/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 (macOS: Terminal; Windows: WSL hoặc Git Bash).
- Tạo thư mục skill nếu chưa có:
mkdir -p ~/.claude/skills - Clone repo vào chỗ tạm:
git clone https://github.com/daymade/claude-code-skills.git /tmp/ccs - Copy đúng skill này:
cp -r /tmp/ccs/debugging-network-issues ~/.claude/skills/ - Kiểm tra thư mục
references/(case study, packet capture, instrumentation) đã có:ls ~/.claude/skills/debugging-network-issues - Khởi động lại Claude Code và gõ
/skillsđể xác nhận skill xuất hiện. - Khi dùng, hãy nêu chuỗi lỗi và mốc thời gian chính xác (ví dụ: "HTTP/2 INTERNAL_ERROR sau 130.8s lúc 2024-05-01T10:12+07") để skill được kích hoạt đúng.
- Dọn thư mục tạm:
rm -rf /tmp/ccs
Xem mã nguồn trên GitHub ↗Giấy phép: MIT