Linux 网络配置与排查命令实战

📖 知识点简介

网络是服务器的命脉,搞运维不会看网络状态,就像医生不会把脉。今天聚焦 网络接口配置、连接排查、端口监听、DNS 解析 四大场景,掌握从 ip/ss 到 tcpdump 的核心命令链。


🛠️ 核心命令整理

1️⃣ 网络接口与地址查看

命令 作用 旧版替代
ip addr 查看所有网络接口 IP ifconfig
ip link 查看接口状态(up/down) ifconfig
ip route 查看路由表 route -n
ip neigh 查看 ARP 缓存表 arp -a

2️⃣ 连接与端口监听

命令 作用 说明
ss -tunlp 查看所有 TCP/UDP 监听端口 推荐,比 netstat 快
ss -tan 查看所有 TCP 连接状态 含 LISTEN/ESTAB 等
ss -tunap 查看连接对应的进程 PID 排查端口占用利器
netstat -tunlp 旧版等效命令 需安装 net-tools

3️⃣ 连通性与 DNS 排查

命令 作用
ping -c 5 <host> 测试连通性与延迟
curl -v <url> 测试 HTTP 可达性(含响应头)
telnet <host> <port> 测试 TCP 端口是否开放
nc -zv <host> <port> 更现代的端口测试(ncat/nmap)
dig <domain> DNS 解析详情(推荐)
nslookup <domain> 简易 DNS 解析
host <domain> 快速 DNS 查询

4️⃣ 流量抓包(排错神器)

命令 作用
tcpdump -i eth0 -nn 抓取 eth0 流量,不解析主机名
tcpdump port 80 抓取 80 端口流量
tcpdump host 10.0.0.1 抓取与某 IP 的通信
tcpdump -w dump.pcap 保存抓包文件,供 Wireshark 分析

🧪 实操示例

场景一:排查端口被占用

bash 复制代码
# 查 8080 端口谁在用(快速定位)
ss -tunlp | grep 8080

# 输出示例:
# tcp   LISTEN 0  100  0.0.0.0:8080  0.0.0.0:*  users:(("java",pid=12345,fd=13))

# 优雅停止该进程
kill 12345

# 确认端口已释放
ss -tunlp | grep 8080
# 无输出即表示已释放

场景二:诊断"连不上数据库"

bash 复制代码
# 1. 看本机网络接口是否正常
ip addr show eth0

# 2. 看网关是否可达
ping -c 3 10.0.0.1

# 3. 看 DNS 能否解析目标主机
dig db.internal.company.com

# 4. 测试 DB 端口是否开放
nc -zv db.internal.company.com 3306

# 5. 看路由表是否有正确路由
ip route get db.internal.company.com

场景三:检查服务是否正常启动

bash 复制代码
# 快速查看 80/443 是否监听
ss -tunlp | grep -E ':(80|443)\s'

# 用 curl 验证返回状态码
curl -s -o /dev/null -w "%{http_code}" http://localhost:80
# 输出 200 表示正常

⚠️ 常见坑点 / 注意事项

  1. ss vs netstat :netstat 属于 net-tools 包,很多新系统默认不带;ss 属于 iproute2 包,系统自带,优先用 ss。

  2. -nn 参数别忘 :不加 -n 时,ss 和 tcpdump 会去反向解析 DNS,导致命令响应极慢,网络差时可能卡死。

  3. ip 命令不显示所有接口怎么办

    bash 复制代码
    # 接口 down 了就不会出现在 ip addr 中,加参数才能看到
    ip addr show dev eth0 # 指定接口
  4. 端口扫描安全提醒 :线上环境慎用 nmap 大规模扫描,可能被 IDS 告警甚至触发防火墙封禁 IP。

  5. ping 不通 ≠ 服务不可用 :很多云服务商禁 ICMP,ping 不通时改用 telnetnc 直接测端口。

  6. tcpdump 权限 :抓包通常需要 root 权限,非 root 用户可以用 sudo 或给 cap_net_raw 能力。

相关推荐
万少6 小时前
DeepSeek 昨晚刚开源了 Harness:附万少的2 万字保姆级教程
前端·后端·架构
大鸡腿同学10 小时前
身弱体质|你的 FM 该关了📻
后端
Csvn11 小时前
📊 SQL 入门 Day 18:索引原理
后端·sql
Csvn11 小时前
🐍 Day3 : Python 容器精讲 — list、dict、set、tuple 底层实现与高级操作
后端·python
用户9385156350711 小时前
ESLint 代码规范完全指南——从 AST 原理到 flat config 逐行解析
javascript·后端·代码规范
用户9385156350711 小时前
深入理解 Next.js:从 SPA 的 SEO 问题到约定式路由与 SSR 原理
前端·后端·全栈
码事漫谈13 小时前
Deepseek涨价了,前后对比,竟然差这么多
后端
东风破_14 小时前
大前端手里的 Next.js:从 #root 到 SEO,一份 HTML 的两种命运
前端·后端
IT_陈寒14 小时前
Vue的v-for不听话?我被这个Key的坑整懵了
前端·人工智能·后端
众人皆醒我独醉15 小时前
训练加速实战:Flash Attention、Gradient Checkpointing 与数据流水线
后端·面试·gpu