您的位置:

Linux下netstat命令详解:如何查看TCP和UDP连接状态信息?

一、netstat概述

netstat是一款非常常见的用于查看网络连接状态的命令行工具,它可以显示各种网络相关信息,包括路由表、网络接口状态、连接状态等等。在Linux系统中,netstat是一个非常常用的命令之一。

二、使用netstat查看TCP连接状态

1. 查看所有TCP连接状态

$ netstat -nat

上面的命令中,-n表示不域名解析,-a表示显示所有连接状态,-t表示只显示TCP连接状态。

输出结果包括本地地址、远程地址、状态等信息,如下所示:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
tcp        0    448 10.10.10.10:22          123.123.123.123:12345   ESTABLISHED
tcp6       0      0 :::80                   :::*                    LISTEN

2. 查看指定端口的TCP连接状态

$ netstat -nat | grep 'LISTEN\|ESTABLISHED' | grep ':80'

上面的命令表示查看所有80端口的TCP连接状态。

三、使用netstat查看UDP连接状态

1. 查看所有UDP连接状态

$ netstat -nau

上面的命令中,-n表示不域名解析,-a表示显示所有连接状态,-u表示只显示UDP连接状态。

输出结果包括本地地址、远程地址、状态等信息,如下所示:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 0.0.0.0:68              0.0.0.0:*
udp        0      0 0.0.0.0:123             0.0.0.0:*
udp        0      0 10.10.10.10:123         0.0.0.0:*
udp6       0      0 :::123                  :::*

2. 查看指定端口的UDP连接状态

$ netstat -nau | grep ':53\s'

上面的命令表示查看所有53端口的UDP连接状态。

四、使用netstat查看路由表

1. 查看IP路由表

$ netstat -rn

输出结果包括目标地址、网关、掩码、接口名等信息,如下所示:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.10.10.1      0.0.0.0         UG        0 0          0 eth0
10.10.10.0      0.0.0.0         255.255.255.0   U         0 0          0 eth0

2. 查看接口状态

$ netstat -i

输出结果包括接口名、MTU、MAC地址、IP地址等信息,如下所示:

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     1547      0      0 0             396      0   1058      0 BMRU
lo    16436 0     1643      0      0 0            1643      0      0      0 LRU

五、总结

netstat是一款非常强大的网络调试工具,在Linux运维中经常被用来查看TCP和UDP连接状态以及路由表等信息。通过本篇文章的介绍,相信大家对netstat的使用已经有了一定的掌握。当然,除了本文介绍的内容以外,netstat还有很多其他的用法,感兴趣的同学可以继续深入了解。