如何在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
目录
相关文章
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
799 17
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
487 18
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
341 10
|
存储 缓存 Linux
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
1742 8
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
3681 23
|
机器学习/深度学习 监控 算法
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
424 18
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
32990 7
|
缓存 监控 Linux
|
运维 监控 网络协议