Get the FREE Ultimate OpenClaw Setup Guide →
npx machina-cli add skill chaterm/terminal-skills/tcp-ip --openclaw
Files (1)
SKILL.md
2.5 KB

TCP/IP 网络诊断

概述

TCP/IP 协议栈相关的网络诊断、连通性测试、端口排查等技能。

连通性测试

# Ping 测试
ping -c 4 hostname
ping -i 0.2 hostname              # 间隔 0.2 秒

# 路由追踪
traceroute hostname
traceroute -n hostname            # 不解析域名
mtr hostname                      # 实时追踪

# 端口连通性
telnet hostname 80
nc -zv hostname 80
nc -zv hostname 80-100            # 端口范围

网络配置

# 查看网络接口
ip addr
ip link show
ifconfig                          # 传统命令

# 查看路由表
ip route
route -n
netstat -rn

# 查看 ARP 表
ip neigh
arp -a

# DNS 查询
nslookup hostname
dig hostname
dig +short hostname
host hostname

端口与连接

# 查看监听端口
ss -tlnp                          # TCP 监听
ss -ulnp                          # UDP 监听
netstat -tlnp

# 查看所有连接
ss -tanp
netstat -anp

# 查看特定端口
ss -tlnp | grep :80
lsof -i :80

# 连接统计
ss -s
netstat -s

抓包分析

# tcpdump 基础
tcpdump -i eth0
tcpdump -i any port 80
tcpdump -i eth0 host 192.168.1.1
tcpdump -i eth0 -w capture.pcap

# 常用过滤
tcpdump -i eth0 'tcp port 80'
tcpdump -i eth0 'host 10.0.0.1 and port 443'
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'

# 读取抓包文件
tcpdump -r capture.pcap
tcpdump -r capture.pcap -A        # 显示 ASCII

常见场景

场景 1:排查网络不通

# 1. 检查本地网络
ip addr
ip route

# 2. 测试网关连通性
ping gateway_ip

# 3. 测试目标连通性
ping target_ip
traceroute target_ip

# 4. 检查 DNS
nslookup target_hostname

场景 2:排查端口不通

# 1. 检查服务是否监听
ss -tlnp | grep :port

# 2. 检查防火墙
iptables -L -n
firewall-cmd --list-all

# 3. 从远程测试
nc -zv target_ip port

场景 3:排查连接超时

# 1. 检查网络延迟
ping -c 10 target

# 2. 检查路由
mtr target

# 3. 抓包分析
tcpdump -i eth0 host target -w debug.pcap

故障排查

问题排查方法
网络不通ping, traceroute, 检查路由
DNS 解析失败nslookup, dig, 检查 /etc/resolv.conf
端口不通ss -tlnp, 检查防火墙
连接超时mtr, tcpdump 抓包分析
连接被拒绝检查服务状态、端口监听

Source

git clone https://github.com/chaterm/terminal-skills/blob/main/network/tcp-ip/SKILL.mdView on GitHub

Overview

TCP/IP 网络诊断技能聚焦于 TCP/IP 协议栈的诊断与排查。你可以通过一组常用命令对主机与目标之间的连通性、路由、端口可用性、DNS 解析以及数据包行为进行验证与排查,进而形成可落地的故障排除报告。

How This Skill Works

该技能基于一套标准的网络诊断命令集(如 ping、traceroute/mtr、telnet、nc、ss、tcpdump 等),在本地主机或远程目标上执行以收集状态信息。你可以按步骤组合使用这些命令,生成日志输出、抓包文件(pcap),并据此定位网络问题根因。

When to Use It

  • 场景:网络不通导致服务不可用时,先进行连通性与路由检查再定位防火墙或端口问题。
  • 场景:目标端口不通或服务未监听时,需确认端口监听状态与防火墙策略。
  • 场景:DNS 解析异常时,进行 DNS 查询和解析路径排查。
  • 场景:连接出现超时或高延迟时,使用路由与抓包分析定位瓶颈。
  • 场景:需要对网络路径的问题进行可重复性分析和日志留存以供事后审计。

Quick Start

  1. 1) 查看本地网络状态,确保接口处于上线状态:如 ip addr、ip link show。
  2. 2) 验证到网关与目标的连通性:使用 ping 与 traceroute/mtr。
  3. 3) 针对目标端口进行可达性测试:用 nc -zv 或 telnet 进行端口连通性检查。
  4. 4) 如需要深入分析,开启抓包:tcpdump -i <iface> -w capture.pcap,并在目标处复现问题再停止采集。

Best Practices

  • 按步骤排查,避免同时执行多项测试导致混淆。
  • 在输出中保留完整命令及结果,便于复核和生成报告。
  • 结合 IPv4/IPv6 进行测试,特别在现代环境中避免仅测试单一协议。
  • 对生产环境执行任何改动性测试前,确保获得许可并在低风险时间段进行。
  • 在抓包时明确筛选条件(如端口、主机、协议),以减少数据量与隐私风险。

Example Use Cases

  • 示例 1:排查网络不通。你会先用 ip addr 与 ip route 确认本机网络,再 ping 网关、目标主机,接着 traceroute/ mtr 追踪路由,并在需要时用 tcpdump 保存抓包以便离线分析。
  • 示例 2:排查端口不通。你会使用 ss -tlnp 确认服务监听状态,检查防火墙配置(iptables、firewalld)并从远端用 nc -zv 测试目标端口是否可达。
  • 示例 3:DNS 解析失败。你会运行 nslookup/dig/host,比较 /etc/resolv.conf 的配置并验证不同解析服务器的响应路径,最后结合 ping 目标域名确认解析是否正常。
  • 示例 4:连接超时与高延迟。你会同时进行 ping、多跳 traceroute/mtr、以及 tcpdump 的实时分析,定位是否为网络跳点、带宽拥塞或防火墙策略导致的延迟。
  • 示例 5:需要可重复的诊断报告。你将把所有命令输出和抓包文件整理成一个诊断报告,便于运维或开发团队复现问题。

Frequently Asked Questions

Add this skill to your agents

Related Skills

Sponsor this space

Reach thousands of developers