2025年3月23日 星期日 甲辰(龙)年 月廿二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 系统应用 > Linux

易记笔记-Ubuntu 下【netstat】指令全解

时间:04-07来源:作者:点击数:36

‘netstat’ 是一个用于查看网络相关信息的命令行工具。

‘netstat’指令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

这个工具通常都会预装在Ubuntu操作系统中。

- 显示所有网络连接

  • netstat -a

该输出显示了当前活动的Internet连接,包括处于监听状态和已建立的连接。

  • 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:sunrpc 0.0.0.0:* LISTEN
  • tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
  • tcp 0 0 pcq-mirror-02v:53416 151.101.128.223:https ESTABLISHED
  • tcp 25 0 pcq-mirror-02v:44984 151.101.64.223:https CLOSE_WAIT

每一行代表一个连接,包含以下信息:

  • Proto:协议类型,这里为tcp。
  • Recv-Q和Send-Q:接收队列和发送队列中的字节数。
  • Local Address:本地地址和端口。
  • Foreign Address:远程地址和端口。
  • State:连接状态。

这会显示所有当前活动的网络连接,包括监听和已建立的连接。

- 只显示监听的网络连接

  • netstat -l

netstat -l 命令用于显示所有处于监听状态的 TCP 和 UDP 端口。

  • Active Internet connections (only servers)
  • 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:sunrpc 0.0.0.0:* LISTEN
  • tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
  • tcp6 0 0 [::]:http [::]:* LISTEN
  • tcp6 0 0 [::]:sunrpc [::]:* LISTEN
  • tcp6 0 0 [::]:ssh [::]:* LISTEN
  • udp 0 0 localhost:domain 0.0.0.0:*
  • udp 0 0 0.0.0.0:sunrpc 0.0.0.0:*
  • udp6 0 0 [::]:sunrpc [::]:*
  • raw6 0 0 [::]:ipv6-icmp [::]:* 7
  • raw6 0 0 [::]:ipv6-icmp [::]:* 7

监听状态的端口是指已经准备好接受连接的端口。这些端口通常是在服务器上使用的,用于等待客户端的连接请求。使用 -l 选项,netstat 命令将只显示处于监听状态的端口,而不显示已建立的连接。

输出将包括本地地址、外部地址和端口号,以及连接的状态。

- 只显示TCP连接

netstat -t 命令用于显示所有活动的 TCP 连接。

  • netstat -t

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的协议,它提供了一种可靠的数据传输服务。使用 -t 选项,netstat 命令将只显示当前处于活动状态的 TCP 连接。

输出将包括本地地址、远程地址和端口号,以及连接的状态。

这会显示所有TCP连接的详细信息。

- 只显示UDP连接

  • netstat -u

netstat -u 命令用于显示所有UDP(User Datagram Protocol)连接和相关的网络统计信息。UDP是一种无连接的传输协议,通常用于快速传输数据,但不提供可靠性或流控制。

  • 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:5353 0.0.0.0:*
  • udp 0 0 0.0.0.0:5353 0.0.0.0:*
  • udp 0 0 0.0.0.0:5353 0.0.0.0:*

这个输出显示了四个UDP连接的信息,包括本地地址、本地端口、远程地址、远程端口以及连接状态。通常情况下,UDP连接的状态较简单,可能是"ESTABLISHED"(已建立)或其他一些特定状态。

- 显示PID(进程ID)和程序名称

  • netstat -tuln -p

运行这个命令将列出所有正在监听的TCP和UDP连接,并显示与每个连接关联的进程名称和PID。

  • (Not all processes could be identified, non-owned process info
  • will not be shown, you would have to be root to see it all.)
  • Active Internet connections (only servers)
  • Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  • tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN -
  • tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
  • tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
  • tcp6 0 0 :::80 :::* LISTEN -
  • tcp6 0 0 :::111 :::* LISTEN -
  • tcp6 0 0 :::22 :::* LISTEN -
  • udp 0 0 127.0.0.53:53 0.0.0.0:* -
  • udp 0 0 0.0.0.0:111 0.0.0.0:* -
  • udp6 0 0 :::111 :::* -

这个命令对于排查网络连接问题、识别哪些进程在使用网络以及监视网络活动非常有用。

- 显示数字格式的IP地址和端口号

运行 netstat -n 将列出当前系统上的网络连接信息,包括本地地址、本地端口、远程地址、远程端口等,但不会显示主机名或服务名。

  • netstat -n
  • Proto Recv-Q Send-Q Local Address Foreign Address State
  • tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
  • tcp 0 0 192.168.1.2:54234 203.0.113.10:80 ESTABLISHED
  • tcp6 0 0 :::80 :::* LISTEN
  • udp 0 0 0.0.0.0:53 0.0.0.0:*

以上输出可以看到网络连接的协议(例如TCP、UDP、TCP6),本地地址和端口,远程地址和端口,以及连接状态,但没有进行主机名或服务名的解析。

使用 netstat -n 可以加快查看网络连接的速度,并在需要时更容易分析和理解连接的情况。

  • 显示详细的网络统计信息:
  • netstat -s

输出显示各种网络统计信息,包括接收和发送的数据包数量、错误等。

在这里插入图片描述

这些统计数据提供了有关网络协议的使用情况的信息,包括收到的数据包数量、发送的数据包数量、错误、连接状态等。

- 显示路由表

  • netstat -r

运行 netstat -r 命令将列出系统的路由表,包括目标网络地址、网关、接口、标志等信息。

  • Destination Gateway Genmask Flags MSS Window irtt Iface
  • default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
  • 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

- 仅显示IPv4或IPv6连接

  • netstat -4 # 仅显示IPv4连接
  • netstat -6 # 仅显示IPv6连接

执行该命令:netstat -4后,将输出与 IPv4 网络连接相关的信息。输出通常包括本地地址和端口、远程地址和端口、协议类型、状态等。

如果执行netstat -6,则输出与IPv6网络连接相关的信息。

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

  • netstat -g

执行该命令后,将输出与系统的组网统计信息相关的输出。这些信息包括组播统计、接口统计和 IP 统计等。

  • IPv6/IPv4 Group Memberships
  • Interface RefCnt Group
  • --------------- ------ ---------------------
  • lo 1 all-systems.mcast.net
  • ens160 1 all-systems.mcast.net
  • ens192 1 all-systems.mcast.net
  • lo 1 ip6-allnodes
  • lo 1 ff01::1
  • ens160 1 ff02::1:ffbe:94d8
  • ens160 2 ip6-allnodes
  • ens160 1 ff01::1
  • ens192 1 ff02::1:ffbe:1ea3
  • ens192 2 ip6-allnodes
  • ens192 1 ff01::1

- netstat在线帮助

  • netstat --help

netstat --help在有的版本里面,用man ss 取代。

在这里插入图片描述

- netstat的替代工具‘ss’

ss 命令是 netstat 命令的替代工具,用于查看套接字(socket)统计信息。与 netstat 不同,ss 更快速、更有效,并且支持更多的选项。

在Ubuntu系统中执行‘man ss’

  • man ss
在这里插入图片描述
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门