使用 netstat 命令的示例

netstat 命令存在多个选项。
下面列出了一些最常用的选项:

选项描述
-A指定地址族。
-r显示路由表。
-i显示网络接口信息。
-s显示每个协议的摘要统计信息。
-g显示组播组成员信息。
-n显示 IP 地址而不是解析的名称。
-c每秒连续打印信息。
-e显示扩展信息。

1. 指定地址族

要指定要为其显示连接的地址族(低级协议),请使用 -A 选项,后跟以逗号分隔的地址族关键字列表。
可能的地址族关键字是 inet、inet6. unix、ipx、ax25. netrom 和 ddp。
例子:

# netstat -A unix
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ]         DGRAM                    13229  @/org/freedesktop/hal/udev_event
unix  2      [ ]         DGRAM                    972047754 @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    29633  /var/opt/OV/tmp/ovcd.sock
unix  20     [ ]         DGRAM                    972084949 /dev/log
unix  2      [ ]         DGRAM                    1603505216 
unix  2      [ ]         DGRAM                    1603410473 
unix  2      [ ]         DGRAM                    1603410454 
unix  3      [ ]         STREAM     CONNECTED     1603410341 
unix  3      [ ]         STREAM     CONNECTED     1603410340

2.显示内核路由表

使用 -r 或者 -route 选项显示内核路由表。

# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0      *               255.255.255.0   U         0 0          0 eth0
link-local       *               255.255.0.0     U         0 0          0 eth0
default         192.168.1.1      0.0.0.0         UG        0 0          0 eth0

3. 显示特定接口的内核接口表

使用选项 -i [for all interfaces] 或者 -I=[ifname] [for a specific interface] 显示所有网络接口或者指定 iface 的表。
下面显示了这两个选项的示例。

# netstat -I=eth0
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0 1318844666      0      0      0 682418030      0      0      0 BMRU
# 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       1500   0 1318847618      0      0      0 682419336      0      0      0 BMRU
lo        65536   0 1297056515      0      0      0 1297056515      0      0      0 LRU

4. 显示每个协议的汇总统计信息

我们可以使用选项 -s 或者 -statistics 显示每个协议的统计信息摘要。

# netstat -s
Ip:
    67012 total packets received
    0 forwarded
    0 incoming packets discarded
    66996 incoming packets delivered
    36916 requests sent out
    18 outgoing packets dropped
Icmp:
    59 ICMP messages received
    0 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 36
        echo requests: 23
    59 ICMP messages sent
	....

5.显示端口监听输入

要显示当前正在侦听输入的进程的所有端口,请使用选项 -l 或者 -listening,如下所示。

# 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:findviatv     0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ms-wbt-server   0.0.0.0:*               LISTEN     
....

6. 显示组播组成员信息

-g 或者 -groups 选项显示 IPv4 和 IPv6 的多播组成员信息。
该选项的示例如下。

# netstat -g
IPv6/IPv4 Group Memberships
Interface       RefCnt Group
--------------- ------ --------------------
lo              1      all-systems.mcast.net
eth0            1      all-systems.mcast.net
lo              1      ff02::1
lo              1      ff01::1
eth0            1      ff02::1:ff84:1048
eth0            1      ff02::1
eth0            1      ff01::1
Linux下如何使用netstat命令

netstat 命令显示当前的 TCP/IP 网络连接、路由表、接口统计信息、伪装连接和多播成员。
ss 命令提供转储套接字统计信息,但也显示类似于 netstat 的信息。

存在许多命令行选项和参数,但 netstat 本身显示打开的套接字列表。
套接字是用户进程和内核中网络协议栈之间的接口。
协议模块分为 AF_INET、AF_IPX 和 AF_PACKET 等协议族和 SOCK_STREAM 或者 SOCK_DGRAM 等套接字类型。
如果不指定任何地址族,则会打印所有已配置地址族的活动套接字。

on it road .com

与 netstat 一起使用的更多选项

下表列出了一些可与 netstat 命令一起使用的更多选项,以在网络端收集更多信息数据。

选项描述
-n or -numeric显示 IP 地址而不是解析的名称。
-c or -continuous每秒连续打印信息。
-e or -extend显示附加信息。 使用此选项两次以获得最大的细节。
-p or -program显示每个套接字所属程序的PID和名称。

任何无效的选项或者参数都会显示一个帮助屏幕,列出用法和可用选项的简要说明。

日期:2020-09-17 00:13:57 来源:oir作者:oir