插件窝 干货文章 netstat命令有什么作用

netstat命令有什么作用

端口 显示 netstat 连接 943    来源:    2025-05-01

netstat(Network Statistics)是一个功能强大的网络工具,用于显示网络连接、路由表、接口统计等网络相关信息。它在 WindowsLinux/Unix 等操作系统中广泛使用(Linux 中逐渐被 ssip 命令替代,但仍有支持)。以下是其主要作用及常见用法:


一、核心功能

  1. 查看活动网络连接

    • 显示所有已建立的连接(TCP/UDP)、监听端口、以及连接的远程IP和端口。
    • 示例:netstat -a(显示所有连接和监听端口)
  2. 显示协议统计信息

    • 统计TCP/UDP/ICMP等协议的收发数据包、错误数等。
    • 示例:netstat -s(显示各协议统计摘要)
  3. 查看路由表

    • 显示系统的路由信息,类似 route print(Windows)或 ip route(Linux)。
    • 示例:netstat -r
  4. 显示网络接口状态

    • 查看网卡(如eth0、wlan0)的收发数据量、错误数等。
    • 示例:netstat -i
  5. 识别进程占用端口

    • 显示哪个进程(PID/程序名)正在使用特定端口(需管理员权限)。
    • 示例:
      • Windows: netstat -ano
      • Linux: netstat -tulnpss -tulnp

二、常用参数(选项)

参数 作用
-a 显示所有连接和监听端口
-t 仅显示TCP连接
-u 仅显示UDP连接
-n 以数字形式显示IP和端口(禁用DNS解析)
-p 显示进程信息(Linux需sudo
-r 显示路由表
-s 显示协议统计信息
-l 仅显示监听状态的端口
-o 显示进程PID(Windows)

三、典型使用场景

  1. 排查端口占用

    # Windows(查找占用8080端口的PID):
    netstat -ano | findstr "8080"
    
    # Linux(查找占用端口的进程):
    sudo netstat -tulnp | grep 80
    
  2. 检查异常连接

    # 查看所有外部TCP连接(快速发现可疑IP):
    netstat -atn
    
  3. 监控服务状态

    # 确认Web服务是否监听80端口:
    netstat -ltn | grep ':80'
    
  4. 网络性能分析

    # 查看TCP协议错误或重传统计:
    netstat -s | grep -i "retransmit"
    

四、注意事项

  1. Linux替代方案

    • 新版本推荐使用 ss(更快速)或 ip 命令(如 ip route)。
    • 示例:ss -tulnp 等效于 netstat -tulnp
  2. Windows差异

    • 参数格式略有不同(如 -ano 合并使用)。
    • 可结合 tasklist 命令通过PID查进程名:
      cmd tasklist | findstr "1234"
  3. 权限要求

    • 查看进程信息(-p/-o)通常需要管理员/root权限。

五、扩展工具

  • lsof(Linux/macOS):更强大的端口进程查看工具,如 lsof -i :8080
  • tcpdump/Wireshark:深度分析网络流量。
  • nmap:扫描开放端口和服务。

如果需要更具体的用法或问题排查,可以进一步说明场景!