一、基础网络诊断指令

1. ping - 连通性测试之王

适用系统 :Windows/ Linux /macOS
功能 :测试主机可达性、计算丢包率与延迟
语法

ping [-n count] [-l size] [-t] 目标IP/域名  # Windows

ping [-c count] [-s packetsize] [-i interval] 目标IP/域名  # Linux

实战示例

# 测试到百度的连通性(发送4个64字节包)

C:\> ping -n 4 -l 64 www.baidu.com

 

Pinging www.a.shifen.com [14.119.104.189] with 64 bytes of data:

Reply from 14.119.104.189: bytes=64 time=23ms TTL=55

Reply from 14.119.104.189: bytes=64 time=25ms TTL=55

Reply from 14.119.104.189: bytes=64 time=27ms TTL=55

Reply from 14.119.104.189: bytes=64 time=24ms TTL=55

 

Ping statistics for 14.119.104.189:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 23ms, Maximum = 27ms, Average = 24ms

结果分析

  • TTL值可推断操作系统类型(Windows通常128,Linux 64)
  • 连续丢包可能指示网络拥塞或防火墙拦截

2. tracert/traceroute - 路径追踪专家

系统差异

  • Windows: tracert
  • Linux: traceroute

原理 :通过递增TTL值定位路径节点
语法

tracert [-d] [-h max_hops] 目标地址  # Windows

traceroute [-n] [-m max_ttl] 目标地址  # Linux

实战示例

# 追踪到谷歌服务器的路径

C:\> tracert -d 8.8.8.8

 

Tracing route to dns.google [8.8.8.8]

over a maximum of 30 hops:

 

  1     2 ms     1 ms     1 ms  192.168.1.1

  2    10 ms     9 ms    11 ms  10.88.64.1

  3    15 ms    13 ms    14 ms  211.136.18.65

  ...

  12   168 ms   165 ms   167 ms  dns.google [8.8.8.8]

排查应用

  • 定位跨国访问卡顿的具体路由节点
  • 识别运营商之间的互联瓶颈

二、网络配置管理指令

1. ipconfig/ifconfig - 接口信息查看

对比表

功能Windows (ipconfig)Linux (ifconfig)
查看所有接口ipconfig /allifconfig -a
释放IPipconfig /releasedhclient -r
续租IPipconfig /renewdhclient
刷新DNS缓存ipconfig /flushdnssystemd-resolve --flush-caches

2. netstat - 连接状态监控

高阶用法

# 查看所有TCP连接及对应进程(需管理员权限)

netstat -ano -p tcp

 

# 统计各状态连接数

netstat -ant | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

输出示例

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd

tcp        0      0 192.168.1.100:443       203.0.113.5:65234       ESTABLISHED 5678/nginx

关键字段

  • Recv-Q/Send-Q:接收/发送队列积压量
  • State:连接状态(LISTEN/ESTABLISHED/TIME\_WAIT)

3. telnet - 端口连通性测试

注意 :Windows 10+默认未安装,需通过"启用或关闭Windows功能"添加

功能

  • 测试TCP端口开放状态
  • 手动模拟HTTP/FTP等协议通信
  • 检查防火墙策略是否放行

语法

telnet [主机] [端口]

实战示例

# 测试Web服务器80端口

C:\> telnet www.example.com 80

正在连接www.example.com... 

# 连接成功后进入命令模式(按Ctrl+]退出)

# 输入HTTP请求测试:

GET / HTTP/1.1

Host: www.example.com

 

HTTP/1.1 200 OK

Date: Mon, 23 Oct 2023 02:03:14 GMT

Server: Apache

高级技巧

# Linux下批量测试端口(需安装telnet)

$ echo -e "80\n443\n8080" | xargs -I{} sh -c 'echo "Checking {}..."; telnet 127.0.0.1 {} 2>/dev/null | grep Connected'

 

# Windows PowerShell替代方案

Test-NetConnection 目标地址 -Port 端口号

典型响应分析

  • Connected :端口开放
  • Connection refused :端口未监听
  • Timed out :被防火墙拦截
  • Host unreachable :路由不可达

五、网络指令速查表(更新版)

分类Windows指令Linux指令新增标记
路由管理routeip route★新增
端口测试telnettelnet / nc★新增

网络故障排查实战(补充案例)

案例:路由配置错误导致跨网段不通

现象

  • 主机能ping通网关但无法访问其他子网
  • tracert显示在第一跳后中断

排查步骤

  1. 查看本地路由表

    # Windows
    
    route print
    
     
    
    # Linux
    
    ip route show
  2. 检查是否存在目标网段路由

    # Windows示例:检查到192.168.2.0/24的路由是否存在
    
    C:\> route print | findstr 192.168.2.0
  3. 添加临时路由测试

    # Linux添加路由示例
    
    sudo ip route add 192.168.2.0/24 via 192.168.1.254
  4. 验证连通性

    ping 192.168.2.100
    
    tracert 192.168.2.100
  5. 配置永久路由(以CentOS为例)

    sudo nmcli connection modify eth0 +ipv4.routes "192.168.2.0/24 192.168.1.254"
    
    sudo nmcli connection down eth0 && sudo nmcli connection up eth0

补充说明

  1. 现代Linux推荐使用 ip route 替代传统 route 命令
  2. 生产环境慎用telnet传输敏感数据(建议改用SSH)
  3. 路由配置需确保反向路径可达
  4. 可使用 mtr (My Traceroute)替代传统traceroute,实时监控路由质量

    # mtr安装与使用(Linux)
    
    sudo apt install mtr
    
    mtr -rwc 10 www.baidu.com

网络故障排查实战

案例:服务器端口不通问题排查

步骤

  1. 本地检测端口监听

    netstat -tuln | grep 8080
  2. 测试本地端口连通性

    telnet 127.0.0.1 8080
  3. 检查防火墙规则

    # Windows
    
    netsh advfirewall firewall show rule name=all
    
     
    
    # Linux
    
    iptables -L -n
  4. 抓包分析

    tcpdump -i eth0 port 8080 -w capture.pcap

高阶网络工具

1. nc (netcat) - 网络瑞士军刀

应用场景

  • 端口扫描
  • 快速文件传输
  • 创建临时服务

示例

# 监听8080端口(服务端)

nc -lvp 8080 > received_file

 

# 发送文件(客户端)

nc -nv 192.168.1.100 8080 < send_file

2. tcpdump - 抓包分析利器

过滤技巧

# 捕获HTTP GET请求

tcpdump -i eth0 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

 

# 显示流量Top 10 IP

tcpdump -nn | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -nr | head

网络指令速查表

分类Windows指令Linux指令功能描述
连接测试ping telnetping telnet基础连通性验证
路由追踪tracert pathpingtraceroute mtr网络路径分析
配置管理ipconfig netshifconfig ip接口配置查看/修改
连接监控netstat Get-NetTCPConnectionnetstat ss连接状态监控
安全审计nmap (需安装)nmap iptables端口扫描与防火墙管理

标签: 网络指令大全

评论已关闭