当前位置: 首页 > article >正文

Netstat(Network Statistics)网络工具介绍

Netstat 工具详细介绍及常见指令应用

Netstat(Network Statistics)是一个常用的命令行工具,用于显示网络连接、路由表、接口统计信息、伪装连接等信息。它可以帮助用户监控计算机的网络状态,尤其在诊断网络问题时非常有用。Netstat 可以显示当前所有的 TCP 和 UDP 连接、监听的端口、传输数据量等。

常见的 Netstat 命令选项及其用途

Netstat 工具的常见选项包括 -t、-u、-n、-l 和 -p,其中每个选项对应不同的功能,常用于不同的网络诊断场景。接下来我们将逐一解释这些选项。

  1. -t 选项:显示 TCP 连接
    -t 选项用于 显示 TCP 协议的连接。TCP 是一种面向连接的协议,因此它的连接状态可以反映出网络中正在进行的可靠通信。

    netstat -t
    

    该命令会显示当前所有的 TCP 连接,包括每个连接的本地地址、远程地址、连接状态(如 ESTABLISHED 表示已建立连接)等。

    示例输出:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
    tcp        0      52 192.168.1.10:22        192.168.1.15:50528     ESTABLISHED
    
  2. -u 选项:显示 UDP 连接
    -u 选项用于 显示 UDP 协议的连接。UDP 是一种无连接的协议,Netstat 通过此选项显示当前的 UDP 套接字(Sockets)信息。

    netstat -u
    

    该命令会显示当前所有的 UDP 连接,注意由于 UDP 是无连接的协议,State 列通常不会显示连接状态。

    示例输出:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    udp        0      0 0.0.0.0:53              0.0.0.0:*                          
    udp        0      0 192.168.1.10:68         0.0.0.0:*  
    
  3. -n 选项:显示数字格式的地址和端口
    默认情况下,Netstat 会将 IP 地址和端口号转换为主机名和服务名(例如显示 www.google.com 和 http)。-n 选项会强制 Netstat 显示 数字格式的地址和端口,而不进行域名解析,能加快显示速度并避免 DNS 查询。

    netstat -n
    

    该命令会显示 IP 地址和端口号的数字形式,而不是解析为主机名和服务名。

    示例输出:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 192.168.1.10:22        192.168.1.15:50528     ESTABLISHED
    udp        0      0 192.168.1.10:68        0.0.0.0:*     
    
  4. -l 选项:显示监听中的端口
    -l 选项用于 显示所有正在监听的端口。它帮助你查看哪些服务或应用程序正在监听指定端口,等待外部连接。

    netstat -l
    

    该命令会显示当前所有在本地监听的端口,包括 TCP 和 UDP 端口。通常,监听状态的端口会标记为 LISTEN。

    示例输出:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
    udp        0      0 0.0.0.0:53              0.0.0.0:*       
    
  5. -p 选项:显示进程标识符(PID)及程序名称
    -p 选项可以显示与每个连接相关的 进程标识符(PID)和程序名称。这个选项在排查哪些进程正在使用网络资源时非常有用,尤其是在系统出现网络问题时。

    netstat -p
    

    该命令会显示每个连接的进程 ID 和程序名称。注意,执行此命令需要 root 权限或者是该进程的用户权限。

    示例输出:

    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
    udp        0      0 0.0.0.0:53              0.0.0.0:*                           6789/dnsmasq
    

    在这个输出中,1234/sshd 表示 sshd 进程(SSH 服务)使用了端口 22,而 6789/dnsmasq 表示 dnsmasq 服务使用了端口 53。

  6. 综合应用:-tunlp 选项组合
    通过将 -t、-u、-n、-l 和 -p 选项组合使用,Netstat 可以非常全面地显示网络连接的状态。常用的组合命令为 -tunlp,它可以帮助你查看所有 TCP 和 UDP 连接,以及正在监听的端口,并显示相关的 PID 和程序名称。

    netstat -tunlp
    

    该命令会显示所有的 TCP 和 UDP 连接,包括监听端口和进程信息。

    示例输出:

    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.10:8080       0.0.0.0:*               LISTEN      5678/nginx
    udp        0      0 0.0.0.0:53              0.0.0.0:*                           6789/dnsmasq
    

    在这个输出中,你可以看到哪些端口正在被哪些程序监听,如 sshd 正在监听端口 22,nginx 正在监听端口 8080,dnsmasq 正在监听 53。

总结

Netstat 是一个功能强大的网络工具,它可以帮助你查看当前的网络连接、监听的端口、进程信息等。通过常见的选项如 -t、-u、-n、-l 和 -p,你可以方便地进行网络诊断和分析。在使用时,结合不同的选项,可以帮助你更加全面地了解计算机的网络状态。


http://www.kler.cn/a/559774.html

相关文章:

  • 《游戏人工智能编程 案例精粹》阅读心得
  • 【AI】面试高频考点-数据标注规则
  • blackbox.ai 一站式AI代理 畅享顶级模型
  • Qt学习 网络编程 TPC通信
  • 激光工控机在自动化生产线中有什么关键作用?
  • Pinia 3.0 正式发布:全面拥抱 Vue 3 生态,升级指南与实战教程
  • PyTorch v2.6 Overview
  • Win10配置VSCode的C/C++编译环境
  • 【PX4日志解析报错】pyulog工具解析日志出错
  • 一文讲解Redis中的混合持久化
  • 学术论文项目网站搭建教程【Github】
  • mysql的源码包安装
  • 【杂谈】-强化学习遇见链式思维:将大型语言模型转变为自主推理代理
  • Python 函数(传递任意数量的实参)
  • jmeter 与大数据生态圈中的服务进行集成
  • 软件工程和系统分析与设计
  • 算法随笔_58: 队列中可以看到的人数
  • leetcode - hot100 - python - 专题二:双指针
  • 【STM32 基于PID的闭环电机控制系统】
  • C语言学习,插入排序