install
source · Clone the upstream repo
git clone https://github.com/chaterm/terminal-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/chaterm/terminal-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/network/tcp-ip" ~/.claude/skills/chaterm-terminal-skills-tcp-ip && rm -rf "$T"
manifest:
network/tcp-ip/SKILL.mdsource content
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
故障排查
| 问题 | 排查方法 |
|---|---|
| 网络不通 | , , 检查路由 |
| DNS 解析失败 | , , 检查 /etc/resolv.conf |
| 端口不通 | , 检查防火墙 |
| 连接超时 | , 抓包分析 |
| 连接被拒绝 | 检查服务状态、端口监听 |