如何在Linux中显示网络连接、路由表、接口统计等信息?Netstat了解一下!

简介: 如何在Linux中显示网络连接、路由表、接口统计等信息?Netstat了解一下!

Netstat 是一个用于显示网络连接、路由表、接口统计等信息的命令行工具。它在 Linux 和其他类 Unix 系统中都有提供,可以帮助我们分析和诊断网络问题。本文将介绍 Netstat 命令的基本用法和常见选项。

Netstat 命令的语法

Netstat 命令的基本语法如下:

netstat [选项] [地址族]

其中,选项可以用来指定显示的信息类型和格式,地址族可以用来过滤显示的协议类型,如 inet(IPv4)、inet6(IPv6)、unix(Unix 域套接字)等。如果不指定地址族,则默认显示所有协议类型的信息。

Netstat 命令的常见选项

Netstat 命令有很多选项,可以根据不同的需求进行组合使用。下面列举一些常见的选项及其含义:

  • -a:显示所有套接字(socket),包括监听(listening)和非监听(non-listening)的。
  • -l:只显示监听状态的套接字。
  • -n:以数字形式显示地址和端口,不进行域名或服务名的解析。
  • -p:显示每个套接字对应的进程标识符(PID)和程序名。
  • -t:只显示 TCP 协议的套接字。
  • -u:只显示 UDP 协议的套接字。
  • -r:显示路由表(routing table)。
  • -i:显示网络接口(network interface)的统计信息。
  • -s:显示网络协议的统计信息。

Netstat 命令的示例

下面给出一些使用 Netstat 命令的示例,以便更好地理解其用法。

显示所有 TCP 连接

netstat -at

这个命令会显示所有 TCP 协议的套接字,包括本地地址(Local Address)、远程地址(Foreign Address)和连接状态(State)。例如:

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:domain        0.0.0.0:*               LISTEN     
tcp        0      0 192.168.1.100:ssh       192.168.1.101:49210     ESTABLISHED
tcp        0      0 192.168.1.100:49212     172.217.160.78:https    ESTABLISHED

其中,LISTEN 表示监听状态,ESTABLISHED 表示已建立连接,其他可能的状态还有 SYN_SENT、SYN_RECV、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、CLOSE、CLOSE_WAIT、LAST_ACK、CLOSING 等。

显示所有 UDP 连接

netstat -au

这个命令会显示所有 UDP 协议的套接字,包括本地地址和远程地址。例如:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*                          
udp        0      0 localhost:domain        0.0.0.0:*                          
udp        0      0 192.168.1.100:ntp       0.0.0.0.0:*
udp 0 0 192.168.1.100:mdns 0.0.0.0:*

其中,bootpc 表示 DHCP 客户端端口,domain 表示 DNS 服务端口,ntp 表示网络时间协议(Network Time Protocol)端口,mdns 表示多播 DNS(Multicast DNS)端口。

显示所有监听套接字

netstat -l

这个命令会显示所有监听状态的套接字,包括 TCP 和 UDP 协议的。例如:

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:domain        0.0.0.0:*               LISTEN     
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*                          
udp        0      0 localhost:domain        0.0.0.0:*                          
udp        0      0 192.168.1.100:mdns      0.0.0.0:*                          

显示所有套接字及其对应的进程

netstat -p

这个命令会显示所有套接字及其对应的进程标识符(PID)和程序名,如果有权限的话。例如:

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        1      1 localhost:49214         localhost:domain        CLOSE_WAIT  -                   
tcp        1      1 localhost:49216         localhost:domain        CLOSE_WAIT  -                   
tcp        1      1 localhost:49218         localhost:domain        CLOSE_WAIT  -                   
tcp        1      1 localhost:49220         localhost:domain        CLOSE_WAIT  -                   
tcp        1      1 localhost:49222         localhost:domain        CLOSE_WAIT  -                   
tcp        1      1 localhost:49224         localhost:domain        CLOSE_WAIT  -                   
tcp        1      1 localhost:49226         localhost:domain        CLOSE_WAIT  -                   
tcp        1      1 localhost:49228         localhost:domain        CLOSE_WAIT
目录
相关文章
|
3天前
|
存储 安全 网络安全
云计算与网络安全:技术融合与信息保障
随着信息技术的快速发展,云计算作为一种革命性的计算模式已经深入各行各业。然而,云计算的普及也带来了网络安全的挑战,如何在信息共享和隐私保护之间找到平衡成为了云计算发展的关键问题。本文探讨了云服务的技术特点、网络安全的挑战及其解决方案,以及信息安全在这一背景下的重要性和实施策略。
11 0
|
7天前
|
安全 Linux Shell
深入探索Linux命令pinentry:安全处理敏感信息的利器
`pinentry`是GnuPG的安全工具,用于安全获取密码等敏感信息,它在终端中显示隐藏输入的提示,确保信息安全。支持交互式操作、多种输入方式,且有丰富的选项,如`--tty`和`--window-title`。示例脚本展示了如何在bash中使用它获取密码。使用时注意环境安全,勿明文显示密码,结合其他工具增强安全性,熟悉参数选项,并考虑备份相关配置。
|
10天前
|
NoSQL Linux C语言
Linux gdb调试的时候没有对应的c调试信息库怎么办?
Linux gdb调试的时候没有对应的c调试信息库怎么办?
14 1
|
11天前
|
NoSQL Linux C语言
Linux gdb调试的时候没有对应的c调试信息库怎么办?
Linux gdb调试的时候没有对应的c调试信息库怎么办?
13 0
|
2月前
|
监控 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 显示网络 连接、路由表和网络接口信息 netstat命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示网络 连接、路由表和网络接口信息 netstat命令 使用指南
119 1
|
2月前
|
Linux Windows
Linux - netstat命令与端口占用
Linux - netstat命令与端口占用
50 0
|
网络协议 Unix Linux
Linux网络管理之netstat命令– 显示网络状态
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
135 0
Linux网络管理之netstat命令– 显示网络状态
|
网络协议 Unix Linux
Linux netstat命令详解
从整体上看,netstat的输出结果可以分为两个部分: 一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。
1192 0
|
网络协议 Unix Linux
linux netstat命令
netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
1348 0