【DevOps】Linux 网络命令netstat详解

目录

一、netstat 命令的主要功能

常用 netstat 命令及选项

 二、示例和用法

1. 查看所有连接和监听端口

2. 显示端口和进程信息

3. 使用 netstat 查看路由表

4. 查看接口统计

5. 查看服务和协议的统计信息

6. 持续监控网络状态

7. 组合使用 netstat 选项

8. 其他有用的 netstat 用法

三、结论


netstat(网络统计)是一个强大的命令行工具,常用于检查各种网络相关的统计信息,包括接口统计、路由表、网络连接、监听端口等。这个工具在网络问题诊断和性能分析中非常有用。

一、netstat 命令的主要功能

  • 显示所有连接和监听端口

    • 列出所有端口的状态,包括 TCP 和 UDP 端口。
  • 显示路由表

    • 查看本机的路由表。
  • 显示网络接口信息

    • 查看网络接口的状态,包括每个接口的 IP 地址、MTU、网络流量等。
  • 显示统计信息

    • 提供 TCP、UDP、ICMP 和 IP 等协议的详细统计信息。

常用 netstat 命令及选项

  • -a (all)

    • 显示所有连接和监听端口。这包括 TCP 和 UDP 的所有端口。
  • -t (TCP)

    • 仅显示 TCP 连接。
  • -u (UDP)

    • 仅显示 UDP 连接。
  • -n (numeric)

    • 显示 IP 地址和端口号,不使用域名和服务名。这可以加速显示结果,因为避免了 DNS 解析。
  • -l (listening)

    • 仅显示监听中的服务端口(通常用于查找正在运行的服务器)。
  • -p (program)

    • 显示哪个进程正在监听某个端口。这需要 root 权限来查看非当前用户的进程。
  • -r (routing)

    • 显示路由表。
  • -i (interfaces)

    • 显示网络接口统计信息,如接口状态、MTU、以及发送和接收的数据包数。
  • -s (statistics)

    • 显示协议统计信息,如 TCP、UDP、ICMP 和 IP 的统计数据。
  • -c (continuous)

    • 持续输出选定的信息,通常用于监控网络状态的变化。

 二、示例和用法

以下详细介绍了 netstat 的各种实用示例和用法,这些示例能帮助你更好地理解和使用这个命令。

1. 查看所有连接和监听端口

  • 查看所有连接

    netstat -a
    

    这个命令显示所有的连接和监听端口,包括 TCP 和 UDP。这是检测系统上网络活动的一个快速方式。

  • 查看所有 TCP 连接

    netstat -at
    

    使用 -t 选项来限制输出只显示 TCP 协议的连接。

  • 查看所有 UDP 连接

    netstat -au
    

    使用 -u 选项来限制输出只显示 UDP 协议的连接。

  • 查看所有监听端口

    netstat -l
    

    使用 -l 选项来显示所有处于监听状态的端口,这对于查找所有正在运行的服务特别有用。

  • 查看所有监听的 TCP 端口

    netstat -lt
    

    结合 -l 和 -t 来查看所有监听的 TCP 端口。

  • 查看所有监听的 UDP 端口

    netstat -lu
    

    结合 -l 和 -u 来查看所有监听的 UDP 端口。

2. 显示端口和进程信息

  • 显示监听端口及其服务名称

    netstat -l --tcp --programs --numeric-ports
    

    或简写为

    netstat -ltpn
    

    在这里:

    • -l 表示监听
    • -t 表示 TCP
    • -p 表示显示进程信息
    • -n 表示显示数字形式的端口和 IP 地址
  • 查看谁在监听端口 80

    netstat -lnp | grep ':80'
    

    这对于检查哪个进程 (比如 Web 服务器) 正在使用端口 80 非常有用。

3. 使用 netstat 查看路由表

  • 查看系统路由表

    netstat -r
    

    或者

    netstat -rn
    

    这里 -r 选项表示显示路由表,-n 表示使用数字地址。

4. 查看接口统计

  • 查看网络接口的详细信息

    netstat -i
    

    这将列出所有网络接口及其状态,包括 MTU、数据包统计等。

  • 查看更详细的网络接口信息

    netstat -ie
    

    这里 -e 显示扩展信息,如更多的统计数据。

5. 查看服务和协议的统计信息

  • 查看所有协议的统计信息

    netstat -s
    

    这将显示 TCP、UDP、ICMP 等所有支持的协议的统计信息。

  • 查看 TCP 协议的统计信息

    netstat -st
    

    只显示 TCP 协议的统计信息。

  • 查看 UDP 协议的统计信息

    netstat -su
    

    只显示 UDP 协议的统计信息。

6. 持续监控网络状态

  • 持续报告网络连接状态

    netstat -c
    

    使用 -c 持续输出选定的信息,常用于实时监控网络状态。

7. 组合使用 netstat 选项

  • 查找所有处于 ESTABLISHED 状态的连接

    netstat -atn | grep ESTABLISHED
    

    这里通过组合使用 -a-t-n 并结合 grep 命令,你可以过滤出所有建立了的 TCP 连接。

  • 检查特定服务(如 MySQL)使用的端口

    netstat -tulpn | grep mysql
    

    或者

    netstat -tulpn | grep 3306
    

    这对于找出 MySQL 数据库服务监听的端口非常有用(通常是 3306)。

8. 其他有用的 netstat 用法

  • 查看多播组成员资格

    netstat -g
    

    这将列出网络接口的多播组成员资格信息,对于调试多播问题很有帮助。

  • 列出所有端口,包括监听和非监听状态,以及服务名称

    netstat -atunp
    

    这个命令结合了多个选项,提供了一个全面的网络连接视图。

三、结论

netstat 是一个多功能网络工具,可以提供系统连接、路由表、接口计数器等多样的信息。通过上述示例和用法,你可以有效地监控和诊断网络相关的问题和性能瓶颈。不过,随着 Linux 发展,一些新的工具如 ss 和 ip 命令开始取代 netstat,提供了更高的性能和更多的功能。但在很多系统上,netstat 仍然可用,是理解网络状态的一个重要工具。

相关推荐

  1. Linux 查看网络命令 netstat 详解

    2024-05-12 07:40:09       29 阅读
  2. 【DevOps】Linux 网络命令netstat详解

    2024-05-12 07:40:09       13 阅读
  3. Linux网络命令——netstat

    2024-05-12 07:40:09       10 阅读
  4. Linux 统计命令Netstat详解

    2024-05-12 07:40:09       35 阅读
  5. netstat命令 – 查看网络状态统计信息

    2024-05-12 07:40:09       19 阅读
  6. netstat命令

    2024-05-12 07:40:09       16 阅读
  7. 深入理解Linux网络工具:netstat命令的高级应用

    2024-05-12 07:40:09       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-12 07:40:09       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-12 07:40:09       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-12 07:40:09       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-12 07:40:09       20 阅读

热门阅读

  1. ensp简单ac+ap+sta无线配置和脚本

    2024-05-12 07:40:09       8 阅读
  2. ubuntu删除opencv

    2024-05-12 07:40:09       8 阅读
  3. 华为OD介绍

    2024-05-12 07:40:09       10 阅读
  4. 网易灵犀办公企业邮箱的IMAP和POP3服务器地址

    2024-05-12 07:40:09       10 阅读
  5. Github2024-05-11 开源项目日报 Top10

    2024-05-12 07:40:09       12 阅读
  6. C语言经典例题-2

    2024-05-12 07:40:09       12 阅读
  7. 算法题① —— 数组专栏

    2024-05-12 07:40:09       12 阅读
  8. 光栅化渲染和物理渲染

    2024-05-12 07:40:09       12 阅读
  9. 代码随想录算法训练营第36期DAY25

    2024-05-12 07:40:09       8 阅读
  10. 设计模式-09 - 享元模式 flyweight pattern

    2024-05-12 07:40:09       8 阅读