netstat命令


netstat 打印网络连接、路由表、接口统计信息、伪装连接和多播成员身份

注释

代替netstat的命令 ss

代替netstat -r 显示路由信息的命令 ip route

netstat -i 显示网络界面信息表单的命令 ip -s link

netstat -g 显示多重广播功能群组组员名单的命令 ip maddr

说明

netstat打印有关linux网络子系统的信息。打印的信息类型由第一个参数控制。

none:没有参数,默认情况下,netstat显示打开的套接字的列表。如果未指定任何地址族,则将打印所有配置的地址族的活动套接字。

-r:显示内核路由器表。 netstat -r 和route -e产生相同的输出。

-g:显示IPv4和ipv6的多播组成员身份信息。

-i:显示所有网络接口或指定的iface的表。

-M:显示伪装连接的列表。

-s:显示每个协议的摘要统计信息

参数

-v 用冗长的语言告诉用户发生了什么。尤其是打印一些有关未配置地址族的有用信息。

-W 不要使用所需宽度的输出截断IP地址。

-n 显示数值地址,而不是尝试确定符号主机名、端口号和用户名

--numeric-hosts 显示数字主机地址,但不影响端口或用户名的分辨率

--numeric-ports 显示数字端口号,但不影响主机名或用户名的分辨率

--numeric-users 显示数字用户ID,但不能影响主机名或端口名的分辨率

-A 指定要为其显示连接的地址系列

-c 这将导致netstat每秒连续打印所选信息

-e 显示其他信息。使用此选项两次可获得最大细节

-o 包括与网络计时器相关的信息

-p显示每个套接字所属程序的PID和名称。

-l 只显示侦听套接字

-a 显示侦听和非侦听套接字。使用--interfaces选项,显示未启动的接口。

-F 从FIB打印路由信息

-C 从路由缓存打印路由信息

[root@keepalived ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0     48 keepalived:ssh          10.0.0.1:65423          ESTABLISHED
tcp        0      0 keepalived:ssh          10.0.0.1:65424          ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ]         DGRAM                    34101    /var/run/chrony/chronyd.sock
unix  3      [ ]         DGRAM                    7811     /run/systemd/notify

注释

Active Internet connections (w/o servers) 网络活动连接信息(有源TCP连接)

Active UNIX domain sockets (w/o servers) 活动UNIX域套接字 称为有UNIX域套接口,和网络套接字一样,但是只用于本机通信,性能可以提高一倍。

Proto 套接字使用的协议 (套接字协议为:tcp udp updlite raw )

Recv-Q 接收队列

Send-Q 发送队列

(一般都是0,如果不是则表示软件包正在队列中堆积。)

Local Address 套接字本地端的地址和端口号

Foreign Address 套接字远程端的地址和端口号

RefCnt 表示连接到本套接口上的进程号

Flags 标志

Type 显示套接口的类型

State 显示套接口当前的状态 (raw模式下没有状态,而且UDP和UDPLite中通常也没有使用状态)

Path 表示连接到套接口的其他进程使用的路径名

连接状态信息

ESTABLISHED 套接字已建立连接

SYN_SENT 套接字正在积极尝试建立连接。

SYN_RECV 已从网络收到连接请求。

FIN_WAIT1 套接字已关闭,连接正在关闭。

FIN_WAIT2 连接已关闭,套接字正在等待远程端的关闭。

TIME_WAIT 套接字在关闭后正在等待以处理仍在网络中的数据包。

CLOSE 套接字未被使用。

CLOSE_WAIT 远程端已关闭,正在等待套接字关闭。

LAST_ACK 远程端已关闭,套接字已关闭。等待确认。

LISTEN 正在监听传入的套接字连接

CLOSING 两个套接字都关闭了,但仍然没有发送所有的数据。

输出信息

User 套接字所有者的用户名或用户id(UID)

PID/Program name PID/程序名称

Timer 定时器

Active UNIX domain Sockets 活动的UNIX域套接字

Proto 协议 ;unix协议(通常由unix使用)

RefCnt 引用计数 (即通过此套接字附加的进程数)

Flags 标志

Type 套接字访问类型

State 显示套接口当前的状态

Path 表示连接到套接口的其他进程使用的路径名

Active IPX sockets 有源IPX插座

Active NET/ROM sockets 活动网络/ROM插槽

套接字访问类型

DGRAM 套接字在数据报(无连接)模式下使用。

STREAM 这是一个流(连接)套接字。

RAW 该套接字用作原始套接字。

RDM 这个服务器提供可靠的消息传递。

SEQPACKET 这是一个顺序分组套接字。

PACKET 原始接口访问套接字。

套接口的状态

FREE 未分配套接字

LISTENING 套接字正在侦听连接请求

CONNECTING 套接字即将建立连接

CONNECTED 套接字已连接。

DISCONNECTING 套接字已经断开连接

empty 套接字未连接到另一个网络

文件

/etc/services 服务翻译文件

/proc roc文件系统的装入点,它允许通过以下文件访问内核状态信息。

/proc/net/dev 设备信息

/proc/net/raw 原始套接字信息

/proc/net/tcp TCP套接字信息

/proc/net/udp UDP套接字信息

/proc/net/udplite UDPLite套接字信息

/proc/net/igmp IGMP多播信息

/proc/net/unix Unix域套接字信息

/proc/net/ipx IPX套接字信息

/proc/net/ax25 AX25插槽信息

/proc/net/appletalk DDP(appletalk)套接字信息

/proc/net/nr NET/ROM插槽信息

/proc/net/route IP路由信息

/proc/net/ax25_route AX25路由信息

/proc/net/ipx_route IPX路由信息

/proc/net/nr_nodes 网络/只读存储器节点列表

/proc/net/nr_neigh NET/ROM邻居

/proc/net/ip_masquerade 伪装连接

/proc/net/snmp 统计学

实例

显示所有端口

[root@keepalived ~]# netstat  -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN
tcp        0     48 keepalived:ssh          10.0.0.1:65423          ESTABLISHED
tcp        0      0 keepalived:ssh          10.0.0.1:65424          ESTABLISHED
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN
udp        0      0 localhost:323           0.0.0.0:*
udp6       0      0 localhost:323           [::]:*
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     33542    /run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     37617    private/tlsmgr
unix  2      [ ACC ]     STREAM     LISTENING     37620    private/rewrite

显示所有TCP端口

[root@keepalived ~]# netstat  -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN
tcp        0     48 keepalived:ssh          10.0.0.1:65423          ESTABLISHED
tcp        0      0 keepalived:ssh          10.0.0.1:65424          ESTABLISHED
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN

显示所有处于监听的sockets

netstat -lt #只列出所有监听 tcp 端口
netstat -lu #只列出所有监听 udp 端口
netstat -lx #只列出所有监听 UNIX 端口

[root@keepalived ~]# netstat  -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN
udp        0      0 localhost:323           0.0.0.0:*
udp6       0      0 localhost:323           [::]:*
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     33542    /run/dbus/system_bus_socket

显示每个协议的统计信息

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

[root@keepalived ~]# netstat  -s
Ip:
    646619 total packets received
    0 forwarded
    0 incoming packets discarded
    646619 incoming packets delivered
    1199898 requests sent out
    7 outgoing packets dropped
Icmp:
    16 ICMP messages received
    0 input ICMP message failed.
    ICMP input histogram:

显示网络接口列表(类似ifconfig)

[root@keepalived ~]# netstat  -ie
Kernel Interface table
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.10  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::c1d5:518e:a6ee:2b90  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:ce:fe  txqueuelen 1000  (Ethernet)
        RX packets 655196  bytes 46945831 (44.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1206029  bytes 137384776 (131.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

性能调优实例

查看phpcgi进程数,如果接近预设值,说明不够用,需要增加:

netstat -anpo | grep "php-cgi" | wc -l
posted @ 2020-10-18 16:37  热气球!  阅读(311)  评论(0编辑  收藏  举报