Linux命令--netstat(统计网络)--使用/教程/实例

本文详细介绍了Linux下的netstat命令的使用方法及参数说明,并通过多个示例展示了如何利用netstat来查看网络连接状态及其相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文网址:Linux命令--netstat(统计网络)--使用/教程/实例_IT利刃出鞘的博客-CSDN博客

简介

        本文用示例介绍Linux的网络统计命令:netstat。

        netstat(network statistics)可以查看网络连接状态及其相关信息。它可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

选项

选项

描述

-a或--all

显示所有连线中的Socket;默认不显示LISTEN相关。

-A<网络类型>或--<网络类型>

列出该网络类型连线中的相关地址;

-c或--continuous

持续列出网络状态;

-C或--cache

显示路由器配置的快取信息;

-e或--extend

显示网络其他相关信息;

-F或--fib

显示FIB;

-g或--groups

显示多重广播功能群组组员名单;

-h或--help

在线帮助;

-i或--interfaces

显示网络界面信息表单;

-l或--listening

显示监听中的服务器的Socket;

-M或--masquerade

显示伪装的网络连线;

-n或--numeric

直接使用ip地址,而不通过域名服务器;

-N或--netlink或--symbolic

显示网络硬件外围设备的符号连接名称;

-o或--timers

显示计时器;

-p或--programs

显示正在使用Socket的程序识别码和程序名称;

-r或--route

显示RoutingTable;

-s或--statistice

显示网络工作信息统计表;

-t或--tcp

显示TCP传输协议的连线状况;

-u或--udp

显示UDP传输协议的连线状况;

-v或--verbose

显示指令执行过程;

-V或--version

显示版本信息;

-w或--raw

显示RAW传输协议的连线状况;

-x或--unix

此参数的效果和指定"-Aunix"参数相同;

--ip或--inet

此参数的效果和指定"-Ainet"参数相同。

示例

  1. 根据端口查找进程(假设端口号为8080)
    1. netstat -nlp | grep :8080
  2. 列出所有端口信息(包括监听和未监听的)
    1. netstat -ano
  3. 列出所有的tcp协议的端口
    1. netstat -at
  4. 显示每个协议的统计信息
    1. netstat -s
  5. 显示核心路由信息
    1. netstat -r
  6. 持续输出 netstat 信息。netstat -c将每隔一秒输出网络信息
    1. netstat -c
  7. 找出程序运行的端口。并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息
    1. netstat -anp
  8. 显示多播组信息
    1. netstat -g
  9. 显示接口信息
    1. netstat -i
  10. 禁止域名解析
    1. netstat -nlp

结果含义

以netstat -a为例

hadoop@master:~$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:mysql         0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN     
udp        0      0 localhost:domain        0.0.0.0:*                          
udp        0      0 0.0.0.0:45465           0.0.0.0:*                          
udp        0      0 0.0.0.0:ipp             0.0.0.0:*                          
udp        0      0 0.0.0.0:mdns            0.0.0.0:*                          
udp6       0      0 [::]:56383              [::]:*                             
udp6       0      0 [::]:mdns               [::]:*                             
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7          
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     40098    @/tmp/.ICE-unix/2304
unix  2      [ ]         DGRAM                    37416    /run/user/1001/systemd/notify

1、Active Internet connections 有源TCP连接,其中"Recv-Q"和"Send-Q"指接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

2、Active UNIX domain sockets 有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

列名解释:

  • Proto:显示连接使用的协议。
  • RefCnt:表示连接到本套接口上的进程号。
  • Types:显示套接口的类型。
  • State:显示套接口当前的状态。
  • Path:表示连接到套接口的其它进程使用的路径名。

State表示连接的状态,主要有:

ESTABLISHED:已建立连接的状态
LISTEN :侦听来自远方的TCP端口的连接请求
SYN_SENT:发出主动连接(SYN)的数据包
SYN_RECV :接收到一个要求连接的主动连接数据包
FIN_WAIT1 :该套接字服务已中断,该连接正在断线中
FIN_WAIT2:该连接已挂断,正在等待对方主机响应断线确认的数据包
TIME_WAIT :连接已挂断,但socket还在网络上等待结束
CLOSE_WAIT:等待从本地用户发来的连接中断请求

三次握手:

四次挥手:

其他网址

Linux下netstat命令详解 - 温冷 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值