Communitygithub.com

Netzwerkschnittstellen-Health

Diagnostiziere Schnittstellenfehler, Drops, CRCs, Duplex-Mismatches, Flapping, Geschwindigkeitsaushandlungsprobleme und Counter-Trends auf Routern, Switches und Linux-Hosts. Verwende dies, wenn eine Schnittstelle Fehler, Drops, CRCs, Flapping oder einen Duplex-/Geschwindigkeitskonflikt aufweist.

Was ist Netzwerkschnittstellen-Health?

Dieses Skill ist ein systematisches Diagnosetool für Netzwerkschnittstellen, die Anzeichen von physischen oder Konfigurationsproblemen zeigen – wie CRC-Fehler, Drops, Runts, Giants, Duplex-Mismatches oder Geschwindigkeitsinkonsistenzen. Es unterstützt Netzwerkadministratoren bei der Identifizierung der Grundursache, indem es Messungen vor und nach einem Eingriff vergleicht und logische Abläufe zur Fehlerbehebung bereitstellt. Das Skill funktioniert auf Routern, Switches (Cisco-ähnliche CLI) und Linux-Hosts mit gängigen Befehlen wie `show interfaces`, `ip -s link show` und `ethtool`. Es betont die Bedeutung von Trends gegenüber absoluten Zählerwerten und enthält eine Referenztabelle, die gängige Zähler und ihre typischen Ursachen erklärt (z. B. CRC → defektes Kabel, Duplex-Mismatch). Der bereitgestellte Python-Parser (`parse_show_interfaces`) zeigt einen sicheren Ansatz zum Extrahieren von Schnittstellenblöcken aus einer Ausgabe, wobei große Blöcke korrekt getrennt werden, um eine Fehlzuordnung zu vermeiden. Das Skill enthält auch Anti-Patterns (z. B. Zähler vor Sicherung löschen, nur eine Seite einer Verbindung überprüfen) und verweist auf verwandte Skills wie `network-troubleshooter` und `network-config-validation`.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/network-interface-health

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Netzwerkschnittstellen-Health?

Verwende dieses Skill, wenn ein Netzwerksymptom durch eine physische Verbindung, einen Switch-Port, ein Kabel, einen Transceiver, eine Duplex-Einstellung oder eine überlastete Schnittstelle verursacht werden könnte.

Wann verwenden

  • Ein Host oder VLAN hat Paketverluste, Latenzspitzen oder zeitweise Erreichbarkeitsprobleme.
  • Eine Switch- oder Router-Schnittstelle zeigt CRCs, Runts, Giants, Drops, Resets oder Flaps.
  • Du musst beide Enden einer Verbindung vergleichen, bevor du Hardware austauschst.
  • Ein Änderungsfenster benötigt Vorher-/Nachher-Nachweise der Schnittstellenzähler.
  • Das Monitoring meldet steigende ifInErrors, ifOutErrors oder ifOutDiscards.

Funktionsweise

Schnittstellenzähler sind ein Indiz, aber der Trend ist wichtiger als der absolute Wert. Erfasse eine Baseline, warte ein Messintervall, erfasse erneut und vergleiche dann die Zuwächse.

show interfaces <schnittstelle>
show interfaces <schnittstelle> status
show logging | include <schnittstelle>|changed state|line protocol

Auf Linux-Hosts:

ip -s link show <schnittstelle>
ethtool <schnittstelle>
ethtool -S <schnittstelle>

Zähler-Referenz

ZählerBedeutungHäufige Ursache
CRCEmpfangene Rahmen-Prüfsumme fehlgeschlagenDefektes Kabel, verschmutzte Glasfaser, defekter Optik, Duplex-Mismatch
input errorsAggregierte EmpfangsseitenfehlerVor einer Schlussfolgerung Unterzähler überprüfen
runtsRahmen unterhalb der minimalen Ethernet-GrößeDuplex-Mismatch, Kollisionsdomäne, defekter NIC
giantsRahmen größer als erwartete MTUMTU-Mismatch oder Jumbo-Frame-Grenze
input dropsGerät konnte eingehende Pakete nicht annehmenBurst, Überbuchung, CPU-Pfad, Warteschlangendruck
output dropsAusgangswarteschlange verwarf PaketeÜberlastung, QoS-Richtlinie, zu kleine Uplink
resetsHardware-Reset der SchnittstelleFlapping, Keepalive, Treiber, Optik, Stromversorgung
collisionsEthernet-KollisionszählerHalbduplex oder Aushandlungsfehler

Diagnoseablauf

CRCs oder Eingabefehler

  1. Bestätige, dass die Zähler steigen, nicht nur historisch sind.
  2. Überprüfe beide Enden der Verbindung. Empfangsseitige Fehler deuten normalerweise auf das Signal hin, das auf dieser Seite ankommt, nicht unbedingt auf den Port, der den Fehler meldet.
  3. Ersetze das Patchkabel oder reinige/ersetze Glasfaser und Optiken.
  4. Bestätige, dass die Geschwindigkeits-/Duplex-Einstellungen auf beiden Seiten übereinstimmen.
  5. Überprüfe die Logs auf Flap-Ereignisse zum gleichen Zeitstempel.

Drops

  1. Trenne Eingabe-Drops von Ausgabe-Drops.
  2. Vergleiche die Schnittstellenrate mit der Kapazität.
  3. Überprüfe die QoS-Richtlinie, Warteschlangenzähler und ob die Verbindung ein überbuchter Uplink ist.
  4. Behandle die Warteschlangenoptimierung als sekundär. Beweise zuerst, ob die Verbindung überlastet ist.

Duplex und Geschwindigkeit

Bevorzuge Auto-Aushandlung auf modernen Ethernet-Verbindungen, wenn beide Seiten dies unterstützen. Wenn eine Seite fest eingestellt sein muss, konfiguriere beide Seiten explizit und dokumentiere den Grund. Mische niemals feste Geschwindigkeit/Duplex auf einer Seite mit Auto auf der anderen.

show interfaces <schnittstelle> | include duplex|speed

Sicheres Parser-Beispiel

Trenne jeden Schnittstellenblock von einem Header zum nächsten. Verwende kein willkürliches Zeichenfenster; große Schnittstellenblöcke können dazu führen, dass Zähler übersehen oder dem falschen Port zugeordnet werden.

import re
from typing import Any

HEADER_RE = re.compile(
    r"^(?P<name>\S+) is (?P<status>(?:administratively )?down|up), "
    r"line protocol is (?P<protocol>up|down)",
    re.I | re.M,
)
ERROR_RE = re.compile(r"(?P<input>\d+) input errors, (?P<crc>\d+) CRC", re.I)
DROP_RE = re.compile(r"(?P<output>\d+) output errors", re.I)
DUPLEX_RE = re.compile(r"(?P<duplex>Full|Half|Auto)-duplex,\s+(?P<speed>[^,]+)", re.I)

def parse_show_interfaces(raw: str) -> list[dict[str, Any]]:
    headers = list(HEADER_RE.finditer(raw))
    interfaces = []
    for index, header in enumerate(headers):
        end = headers[index + 1].start() if index + 1 < len(headers) else len(raw)
        block = raw[header.start():end]
        errors = ERROR_RE.search(block)
        drops = DROP_RE.search(block)
        duplex = DUPLEX_RE.search(block)
        interfaces.append({
            "name": header.group("name"),
            "status": header.group("status"),
            "protocol": header.group("protocol"),
            "duplex": duplex.group("duplex") if duplex else "unknown",
            "speed": duplex.group("speed").strip() if duplex else "unknown",
            "input_errors": int(errors.group("input")) if errors else 0,
            "crc_errors": int(errors.group("crc")) if errors else 0,
            "output_errors": int(drops.group("output")) if drops else 0,
        })
    return interfaces

Beispiele

CRCs auf einem Switch-Port

  1. Erfasse die Zähler auf dem lokalen Port.
  2. Erfasse die Zähler auf dem angeschlossenen entfernten Port.
  3. Ersetze das Kabel oder die Optik, bevor du Routing- oder Firewall-Regeln änderst.
  4. Lösche Zähler erst, nachdem die Baseline aufgezeichnet wurde.
  5. Überprüfe erneut nach einem festgelegten Intervall.

Internet langsam, aber LAN funktioniert

  1. Überprüfe Drops/Fehler auf der WAN-Schnittstelle.
  2. Überprüfe die LAN-Uplink-Auslastung und Ausgabe-Drops.
  3. Überprüfe die Gateway-CPU, wenn die WAN-Verbindung sauber ist, aber der Durchsatz immer noch niedrig ist.
  4. Vergleiche verkabelte und drahtlose Tests, bevor du den Upstream-Dienst beschuldigst.

Anti-Patterns

  • Zähler löschen, bevor eine Baseline gesichert wird.
  • Nur eine Seite einer Verbindung überprüfen.
  • Alle historischen CRCs als aktive Probleme ansehen, ohne ein Zeitfenster zu berücksichtigen.
  • Auto-Aushandlung auf einer Seite mit fester Geschwindigkeit/Duplex auf der anderen mischen.
  • Ausgabe-Drops als Kabelproblem behandeln, bevor die Überlastung geprüft wird.

Siehe auch

  • Agent: network-troubleshooter
  • Skill: network-config-validation
  • Skill: homelab-network-setup

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Verwandte Skills