Linux netstat命令详解

Linux常用命令之netstat命令详解 netstat 命令不仅是简单的网络状态报告工具,还是日常运维工作中不可或缺的一部分。它提供的信息对于保持系统的稳定性、高效性和安全性至关重要。 阅读详情

简介

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

输出信息含义

执行netstat后,其输出结果为

Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp   .:telnet .: ESTABLISHEDtcp   .: .:netbios-ssn ESTABLISHEDtcp   localhost.localdom: localhost.localdom: ESTABLISHEDtcp   localhost.localdom: localhost.localdom: ESTABLISHEDtcp   .: .:netbios-ssn CLOSEActive UNIX domain sockets (w/o servers)Proto RefCnt Flags Type State I-Node Pathunix  [ ] STREAM CONNECTED  @000000ddunix  [ ] STREAM CONNECTED  @000000dcunix  [ ] DGRAM  /dev/logunix  [ ] STREAM CONNECTED  @000000df

从整体上看,netstat的输出结果可以分为两个部分:

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

另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

常见参数

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

实用命令实例

1. 列出所有端口 (包括监听和未监听的)

  列出所有端口 netstat -a

# netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address           Foreign Address         State tcp               localhost:         *:*                     LISTEN udp               *:bootpc                *:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags       Type       State         I-Node   Path unix        [ ACC ]     STREAM     LISTENING          /tmp/.X11-unix/X0 unix        [ ACC ]     STREAM     LISTENING          //run/acpid.socket

  列出所有 tcp 端口 netstat -at

# netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address           Foreign Address         State tcp               localhost:         *:*                     LISTEN tcp               localhost:ipp           *:*                     LISTEN tcp               *:smtp                  *:*                     LISTEN tcp6              localhost:ipp           [::]:*                  LISTEN

  列出所有 udp 端口 netstat -au

# netstat -au Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address           Foreign Address         State udp               *:bootpc                *:* udp               *:                 *:* udp               *:mdns                  *:*

2. 列出所有处于监听状态的 Sockets

  只显示监听端口 netstat -l

# netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address           Foreign Address         State tcp               localhost:ipp           *:*                     LISTEN tcp6              localhost:ipp           [::]:*                  LISTEN udp               *:                 *:*

  只列出所有监听 tcp 端口 netstat -lt

# netstat -lt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address           Foreign Address         State tcp               localhost:         *:*                     LISTEN tcp               *:smtp                  *:*                     LISTEN tcp6              localhost:ipp           [::]:*                  LISTEN

  只列出所有监听 udp 端口 netstat -lu

# netstat -lu Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address           Foreign Address         State udp               *:                 *:* udp               *:mdns                  *:*

  只列出所有监听 UNIX 端口 netstat -lx

# netstat -lx Active UNIX domain sockets (only servers) Proto RefCnt Flags       Type       State         I-Node   Path unix        [ ACC ]     STREAM     LISTENING          /maildrop unix        [ ACC ]     STREAM     LISTENING          /cleanup unix        [ ACC ]     STREAM     LISTENING          /ifmail unix        [ ACC ]     STREAM     LISTENING          /bsmtp

3. 显示每个协议的统计信息

  显示所有端口的统计信息 netstat -s

# netstat -s Ip:  total packets received  with invalid addresses  forwarded  incoming packets discarded  incoming packets delivered  requests sent  Icmp:  ICMP messages received  input ICMP message failed. Tcp:  active connections openings  failed connection attempts  connection resets received Udp:  packets received  packets to unknown port received. .....

  显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su

# netstat -st # netstat -su

4. 在 netstat 输出中显示 PID 和进程名称 netstat -p

netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。

# netstat -pt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name tcp               ramesh-laptop.loc: .:www        CLOSE_WAIT  /firefox tcp               ramesh-laptop.loc: lax:www ESTABLISHED /firefox

5. 在 netstat 输出中不显示主机,端口和用户名 (host, port or user)

当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。

同样可以加速输出,因为不用进行比对查询。

# netstat -an

如果只是不想让这三个名称中的一个被显示,使用以下命令

# netsat -a --numeric-ports# netsat -a --numeric-hosts# netsat -a --numeric-users

6. 持续输出 netstat 信息

netstat 将每隔一秒输出网络信息。

# netstat -c Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address           Foreign Address         State tcp               ramesh-laptop.loc: ---.ama:www ESTABLISHED tcp               ramesh-laptop.loc: .:www      CLOSING tcp               ramesh-laptop.loc: server----:www ESTABLISHED tcp               ramesh-laptop.loc: .:www      CLOSING ^C

7. 显示系统不支持的地址族 (Address Families)

netstat --verbose

在输出的末尾,会有如下的信息

netstat: no support  `AF IPXnetstat: no support  `AF AX25netstat: no support  `AF X25netstat: no support  `AF NETROM

8. 显示核心路由信息 netstat -r

# netstat -r Kernel IP routing table Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface .     *               .   U                     eth2 link-local      *               .     U                     eth2          .     .         UG                    eth2

注意: 使用 netstat -rn 显示数字格式,不查询主机名称。

9. 找出程序运行的端口

并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

# netstat -ap | grep ssh tcp               dev-db:ssh           .:        CLOSE_WAIT  - tcp               dev-db:ssh           .:        CLOSE_WAIT  -

  找出运行在指定端口的进程

# netstat -an | grep ':80'

10. 显示网络接口列表

# netstat -i Kernel Interface table Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg eth0                                                              BMU eth2                                                      BMRU lo                                                               LRU

显示详细信息,像是 ifconfig 使用 netstat -ie:

# netstat -ie Kernel Interface table eth0      Link encap:Ethernet  HWaddr ::::: UP BROADCAST MULTICAST  MTU:  Metric: RX packets: errors: dropped: overruns: frame: TX packets: errors: dropped: overruns: carrier: collisions: txqueuelen: RX bytes: ( B)  TX bytes: ( B) Memory:f6ae0000-f6b00000

11. IP和TCP分析

  查看连接某服务端口最多的的IP地址

wss8848@ubuntu:~$ netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -2018 221.136.168.363 154.74.45.2422 78.173.31.2362 62.183.207.982 192.168.1.142 182.48.111.2152 124.193.219.342 119.145.41.22 114.255.41.301 75.102.11.99

  TCP各种状态列表

wss8848@ubuntu:~$ netstat -nat |awk established)ForeignLISTENTIME_WAITESTABLISHEDTIME_WAITSYN_SENT

先把状态全都取出来,然后使用uniq -c统计,之后再进行排序。

wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'|sort|uniq -c143 ESTABLISHED1 FIN_WAIT11 Foreign1 LAST_ACK36 LISTEN6 SYN_SENT113 TIME_WAIT1 established)

最后的命令如下:

netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn

分析access.log获得访问前10位的ip地址

awk '{print $1}' access.log |sort|uniq -c|sort -nr|head -10

TPM 2.0实例探索2 —— LUKS磁盘加密(1) 本文对LUKS行了系统介绍 阅读详情

相关推荐

测绘无人船避坑指南:云卓H12Pro遥控器接海康摄像头,从网络设置到RTSP流延迟优化全流程

本文详细解析了测绘无人船视频子系统的优化方案,重点介绍海康威视摄像头与云卓H12Pro遥控器的深度适配流程。从网络设置到RTSP流延迟优化,提供了一套经过实测的低延迟(<200ms)解决方案,适用于复杂水域环境下的测绘任务。

weixin_30415113的博客 624

linux下netstat指令详解

netstat指令是Linux系统中的一个常用网络工具,用于显示网络连接、路由表和网络接口等相关信息。它可以帮助我们监控网络活动、诊断网络问题,以及查看网络连接的状态。netstat指令是Linux系统中功能强大的网络工具,通过它我们可以方便地查看网络连接、路由表和接口等信息,帮助我们监控网络活动、诊断问题和管理网络状态。本篇博客简要介绍了netstat指令的常用参数和用法,并提供了示例代码和参考链接,希望能够帮助读者更好地理解和应用netstat指令。netstat命令的官方文档。

AnChenliang_1002的博客 7277

8155平台multi-display(多屏显示)原理与配置

8155平台多屏互动原理与配置

漂流瓶の海岸 1603

linux基础命令-netstat

显示 TCP 连接: 通过添加 -t 参数,如 netstat -at,可以仅显示 TCP 连接,这对于监控 TCP 连接状态和问题排查非常有用。显示与连接关联的进程信息: 使用 -p 参数,如 netstat -ap,可以显示与连接相关联的进程信息。显示统计摘要信息: 使用 -s 参数,如 netstat -s,可以显示各种协议的统计摘要信息,如 TCP、UDP、ICMP 等。显示网络接口信息: 使用 -i 参数,如 netstat -i,可以显示网络接口的统计信息,包括接收和发送的数据包数、错误数等。

qq_44539748的博客 2218

FDTD超表面仿真详细教程,几何相位,共振相位,传播相位

FDTD的超表面主要几何相位型(PB型)和共振型两种类型,其中PB型每个cell中的纳米棒的长宽相同,旋转角度不同,共振型长宽不同,旋转角度相同。本博文中以最常见的长方形纳米棒为例,用FDTD演示两种超表面实现的聚焦透镜的功能,包含详细步骤,其他形状,材料的超表面可自行尝试。

wuyuerhhg的博客 3万+

DFI协议时序

参数名称典型值应用场景关键影响tcmd_lat1-2个时钟周期命令与地址锁存同步地址错误风险tphy_wrlat1-2个时钟周期写操作响应速度写带宽与延迟2-3个时钟周期写操作端到端延迟系统吞吐量1-2个时钟周期连续写命令间隔信号干扰与资源冲突tphy_rdlat1-2个时钟周期读操作响应速度读带宽与延迟trddata_en由CL决定(如0.41 ns)读数据返回时间系统延迟10-20 ps写数据与命令对齐数据丢失风险<1 µs低功耗模式切换。

qq_43134430的博客 5101

linux中netstat命令详解及常见用法

在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询。

m0_61346425的博客 6952

AISBench benchmark评测工具实操-精度评测场景-采用命令行指定模型和数据集的方式

搭建AISBench benchmark测试环境,包括创建conda环境、安装AISBench benchmark、处理ceval数据集,并修改相关配置文件以适配测试需求。最终,通过启动精度测评,验证了模型在指定环境下的性能。

m0_50105717的博客 2040

Linux netstat 命令详解,零基础入门到精通, 收藏这一篇就够了

netstat,是一个用于监控、排除网络连接故障、路由表的命令行工具,它提供关于网络统计和socket连接的详细信息。

Javachichi的博客 2622

SAP Integration Suite 与 SAP Cloud Integration 的关系解析

SAP Cloud Integration是SAP Integration Suite套件的核心组件,专注于消息与流程集成。两者关系可概括为:Integration Suite是SAP BTP上的集成平台套件(iPaaS),而Cloud Integration是其中负责应用与B2B集成的关键能力。日常所说的"CPI"实际指代的是Integration Suite中的Cloud Integration功能。该套件还包含API管理、事件网格等其他集成能力,共同构成企业集成解决方案。理解这一层

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 592

linux系统下XDMA驱动的安装与测试问题总结

先看两个常见的问题。一个是驱动安装问题,一个是驱动测试错误;error 512 能识别PCIE的设备,但是The kernel modle installed correctly, but no devices were recognized.

whm128的博客 3797

Linux netstat 命令详解

netstat 可以用来查 Linx 网络系统接口的状态信息,统计信息,打开的 socket 连接,以及路由表等等。

陈皮的JavaLib 7648

STM32H743的FDCAN使用方法(1):STM32CubeMX初始化代码生成

STM32H743的FDCAN使用方法(1):STM32CubeMX初始化代码生成。

kevin1499的博客 2565

Linux系统之netstat 命令详解

netstat 是一个用于显示 Linux 网络子系统信息的命令行工具。它支持查看活动的网络连接、路由表、接口统计、多播组成员、伪装连接(NAT)以及协议统计信息。虽然 netstat 仍广泛使用,但官方已推荐使用更高效的替代工具(如 ss、ip 等)。

weixin_56303229的博客 3862

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux命令之netstat用法

LAST_ACK:被动关闭端一段时间后,接收到文件结束符的应用程 序将调用CLOSE关闭连接,这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK,等待原来发向远程TCP的连接中断请求的确认;FIN_WAIT1:主动关闭(active close)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态, 等待远程TCP的连接中断请求,或先前的连接中断请求的确认;CLOSING: 比较少见,等待远程TCP对连接中断的确认;

2302_76662992的博客 1166

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Linux中的netstat命令详解

前面我们学习了网络的有关基础知识,今天我们来介绍一个Linux下面的关于网络的一个重要指令——netstat.功能说明netstat是基于Netstat这个命令行工具的指令,它可以用来查询系统上的网络套接字连接情况,包括tcp,udp以及Unix套接字;另外它还能列出路由表,接口状态和多播成员等信息。主要选项关于netstat命令的选项有很多,这里我们只介绍常见选项,关于选项和选项的作用如下图:

leap的博客 3万+

Linux下shell命令之netstat详解及示例

netstat命令是Linux和Unix系统中用于显示网络连接、路由表、接口统计等信息的重要工具。它可以帮助网络管理员了解系统的网络状态,进行故障排除和性能监控。下面是对netstat命令的详细介绍,包括基本用法、选项、输出字段的含义以及示例。

jackiendsc的博客 1263

Linux的netstat命令

Recv-Q是接收缓冲区,Send-Q是发送缓冲区, Local是本地IP和端口,Foregn是对方的IP和端口,我们刚才说:服务器应该给客户端回复6个ok,我们看到图中cli的接收缓冲区,有10字节,就是剩下的5个ok,netstat命令,对应的选项比较多,功能比较强大。使用 -t 选项列出 TCP 协议的连接。使用 -u 选项列出 UDP 协议的连接。使用 -l 选项列出正在监听的套接字。使用 -p 选项查看进程信息。使用 -i 选项查看进程信息。使用 -c 选项查看进程信息。

ljy的博客 1125

Linux命令之netstat命令详解

netstat命令 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

全栈行动派的博客 3634

Linux命令网络命令之netstat

Linux命令网络命令之netstat 这一年感觉到技术上成长到了一个瓶颈。可能是感觉自己学的东西足够应付目前的工作了,因此精神上就产生了懈怠,不思进取。到了一个技术氛围不错的公司,有许多专业能力很不错,并且继续钻研技术的同事。因此自己心里也有了攀比之心,优秀之人已经如此努力了,而我却却放自己沉沦下去。我不需要成为一个牛逼的人,只需要比眼见为实的那些人优秀就好了,因此针对编程的基石,Linux,进...

weixin_30954607的博客 344

Windows和Linux常用的netstat命令

Windows和Linux常用的netstat命令

weixin_45639224的博客 1531

【Linux】Linux命令:netstat

命令用于显示网络状态。

yanzhyan的博客 726

linux命令:ps、netstat

日常我们查看服务,进程,端口,路径等等都可以用到这两个命令,因为我记得也不够详细,这里为了提升自己运用能力,特写此文章。用于显示当前进程的状态,类似于Windows中的任务管理器。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。1.Linux上进程的简单介绍 (1)Linux上进程的状态: 1)运行(正在运行或在运行队列中等待) 2)中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

soinlove36的专栏 838

Linux netstat命令

一、netstat命令 netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。 1.1 语法 netstat(选项) 1.2 选项 选项 描述 -a或–all 显示所有连线中的Socket; -A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址; -c或–continuous 持续列出网络...

书香水墨 6201

详解Linux命令--netstat

在Linux环境下,netstat(网络状态)命令是一个非常实用的工具,用于显示网络连接、路由表、接口统计、伪装连接和多播成员等信息。通过netstat,系统管理员和普通用户可以深入了解网络的状态,这对于故障排除、性能监控和安全分析都非常有用。

简介 1119
上一篇: bom头的问题
下一篇: ActiveMQ问题分析和解决
架构师的清醒
博客等级 码龄14年 291粉丝 397原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值