当前位置: 首页 > news >正文

【Linux C | 网络编程】netstat 命令图文详解 | 查看网络连接、查看路由表、查看统计数据

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀
🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭
🤣本文内容🤣:🍭介绍 🍭
😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭

本文未经允许,不得转发!!!

目录

  • 🎄一、netstat介绍
    • ✨1.1 netstat 概述
    • ✨1.2 netstat 选项说明
  • 🎄二、查看网络连接
    • ✨2.1 查看全部网络连接
    • ✨2.2 查看TCP连接
    • ✨2.3 查看UDP连接
  • 🎄三、查看路由表
  • 🎄四、打印统计数据
  • 🎄五、打印IPv6/IPv4组成员身份
  • 🎄六、总结


在这里插入图片描述

🎄一、netstat介绍

✨1.1 netstat 概述

netstat是一个命令行工具,可以用于查看系统的网络连接、路由表、接口统计信息、伪装连接和多播成员身份。

在网络编程中,可能需要使用netstat查看一些网络连接状态或路由表等信息,本文将详细介绍Linux系统中netstat工具的使用。

由于不同版本的netstat具备的功能可能存在差异,可以在命令行执行netstat -h,查看自己的netstat工具支持哪些功能:
在这里插入图片描述
也可以执行netstat -V,查看自己netstat的版本信息:
在这里插入图片描述


✨1.2 netstat 选项说明

选项说明
-r, --route 显示路由表
-i, --interfaces 显示网络接口表
-g, --groups 显示多播组成员身份
-s, --statistics 显示网络统计信息(如SNMP)
-M, --masquerade 显示伪装的连接,Linux不支持
-v, --verbose 详细地告诉用户发生了什么。特别是打印一些有关未配置地址族的有用信息
-W, --wide 不要根据需要使用输出来截断IP地址。这是可选的,目前不破坏现有脚本。
-n, --numeric 显示数字地址,而不是解析为名称
–numeric-hosts 显示数字主机地址,不解析主机名。
–numeric-ports 不解析端口名
–numeric-users 不解析用户名
-N, --symbolic 解析硬件名称
-e, --extend 显示其他/更多信息
-p, --programs 显示套接字的PID/程序名称
-o, --timers 显示计时器
-c, --continuous 这将导致netstat连续每秒打印一次所选信息。
-l, --listening 仅显示处于监听状态的套接字。(默认情况下会省略这些。)
-a, --all 显示所有套接字(默认只显示已连接的)
-F, --fib 显示转发信息库(默认)
-C, --cache 显示路由缓存而不是FIB
-Z, --context 显示套接字的SELinux安全上下文
-t, --tcp 仅显示TCP相关
-u, --ud 仅显示UDP相关
-w, --raw 仅显示RAW套接字相关
-x, --unix 仅显示Unix域套接字相关
-4 仅显示IPv4相关
-6 仅显示IPv6相关

上面表格介绍了netstat的大部分选项,其中红色字体的是比较常用的,要重点掌握。


在这里插入图片描述

🎄二、查看网络连接

通常,netstat使用-a、-t、-u、-l、-4、-6来查看一些常见的网络连接,关于各个选项的解释可以看上面表格,下面对输出的每一列进行说明:

  • Proto:套接字使用的协议(tcp、udp、udpl、raw等)。
  • Recv-Q:Established状态下,表示连接到此套接字的用户程序未复制的字节数。
    Listening状态下,从内核2.6.18开始,此列包含当前syn囤积。
  • Send-Q:Established状态下,表示远程主机未确认的字节数。
    Listening状态下,从内核2.6.18开始,此列包含syn囤积的最大大小。
  • Local Address:套接字本地端的地址和端口号。除非指定了–numeric(-n)选项,否则套接字地址将解析为其规范主机名(FQDN),端口号将转换为相应的服务名称。
  • Foreign Address:套接字远程端的地址和端口号。
  • State:套接字的状态。由于原始模式中没有状态,UDP和UDPLite中通常也没有使用状态,因此此列可能为空。
  • PID/Program name:用斜线分隔的进程id(PID)和拥有套接字的进程的进程名称对。
  • Path:表示连接到套接口的其它进程使用的路径名。

✨2.1 查看全部网络连接

运行netstat -a可以查看全连接,下面是运行后的结果截选。

wkd_007$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:36155           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:microsoft-ds    0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:nfs             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:10501         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:60329           0.0.0.0:*               LISTEN    
....
tcp        0      0 virtual-machin:ssh 		192.168.2.170:5254      ESTABLISHED
tcp        0      0 localhost:60490         localhost:9100          TIME_WAIT  
...
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN     
udp        0      0 0.0.0.0:44546           0.0.0.0:*                          
udp        0      0 0.0.0.0:57189           0.0.0.0:*   
udp6       0      0 [::]:35298              [::]:*                             
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7          
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ]         DGRAM                    29108    /var/lib/samba/private/msg.sock/1797
unix  2      [ ACC ]     STREAM     LISTENING     29574    @/tmp/.ICE-unix/1851
unix  2      [ ACC ]     STREAM     LISTENING     13734    /run/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     29575    /tmp/.ICE-unix/1851
...

另外,可以加上-n使不解析名称,直接显示ip地址等数值;也可以加上-p来显示进程ID或名称。

netstat -an
netstat -ap
netstat -anp

✨2.2 查看TCP连接

netstat -at:查看全部tcp连接;
在这里插入图片描述

netstat -t:查看不带LISTEN状态的tcp连接;
在这里插入图片描述

netstat -tl:只查看LISTEN状态的tcp连接;
在这里插入图片描述


在上面三个分别加上-n,可以不解析名称,全部显示数值:
netstat -atn:查看全部tcp连接;
netstat -tn:查看不带LISTEN状态的tcp连接;
netstat -tln:只查看LISTEN状态的tcp连接;


加上-p来显示进程ID或名称:

netstat -atp
netstat -tp
netstat -alp
netstat -atnp
netstat -tnp
netstat -alnp

加上-4-6仅先IPv4或IPv6的TCP连接

netstat -atp4
netstat -tp4
netstat -alp4
netstat -atnp6
netstat -tnp6
netstat -aln6

✨2.3 查看UDP连接

基础的查看UDP连接的命令就netstat -au
在这里插入图片描述

另外,-l命令在UDP连接一般是用不到的,其他的-n、-p、-4、-6的选项也都是可以合并使用的,看上一小节,这里不再赘述。


在这里插入图片描述

🎄三、查看路由表

netstat使用-r选项可以查看内核的IP路由表,下面是使用netstat -rnetstat -rn的结果,带n会不解析名称,直接显示数值。
在这里插入图片描述


在这里插入图片描述

🎄四、打印统计数据

netstat使用-s选项,可以打印统计数据,与-u、-t一并使用可以查看某个协议的统计数据。
在这里插入图片描述


在这里插入图片描述

🎄五、打印IPv6/IPv4组成员身份

netstat使用-g选项,打印IPv6/IPv4组成员身份,与-4、-6一并使用可以单独查看某个协议的。
在这里插入图片描述


在这里插入图片描述

🎄六、总结

👉本文详细解释netstat命令怎么查看网络连接、查看路由表、查看统计数据等,并介绍了各个选项的用法。

在这里插入图片描述
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

相关文章:

【Linux C | 网络编程】netstat 命令图文详解 | 查看网络连接、查看路由表、查看统计数据

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...

Python爬虫存储库安装

如果你还没有安装好MySQL、MongoDB、Redis 数据库,请参考这篇文章进行安装: Windows、Linux、Mac数据库的安装(mysql、MongoDB、Redis)-CSDN博客 存储库的安装 上节中,我们介绍了几个数据库的安装方式,但…...

用函数求最小公倍数和最大公约数(c++题解)

题目描述 输入两个正整数m和n,求其最大公约数和最小公倍数。 提示,求最大公约数用一个函数实现。本题求最大公约数必须用高效算法,如辗转相除法,朴素算法要超时。 输入格式 第1行:两个非整数,值在0&…...

鲜花销售|鲜花销售小程序|基于微信小程序的鲜花销售系统设计与实现(源码+数据库+文档)

鲜花销售小程序目录 目录 基于微信小程序的鲜花销售系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、前台功能模块 2、后台功能模块 (1) 后台登录 (2) 管理员功能模块 用户管理 商家管理 鲜花信息管理 鲜花分类管理 管理员管理 系统管理 (3) 商家功…...

三.Linux权限管控 1-5.Linux的root用户用户和用户组查看权限控制信息chmod命令chown命令

目录 三.Linux权限管控 1.Linux的root用户 root用户(超级管理员) su和exit命令 sudo命令 为普通用户配置sudo认证 三.Linux权限管控 2.用户和用户组 用户,用户组 用户组管理 用户管理 getent---查看系统中的用户 三.Linux权限管控…...

Jmeter学习系列之四:测试计划元素介绍

测试计划元素 JMeter包含各种相互关联但为不同目的而设计的元素。在开始使用JMeter之前,最好先了解一下JMeter的一些主要元素。 注意:测试计划包含至少一个线程组。 以下是JMeter的一些主要组件: 测试计划(Plan)线程组(Thread Group)控制器…...

LeetCode.1686. 石子游戏 VI

题目 题目链接 分析 本题采取贪心的策略 我们先假设只有两个石头a,b, 对于 Alice 价值分别为 a1,a2, 对于 Bob 价值而言价值分别是 b1,b2 第一种方案是 Alice取第一个,Bob 取第二个,Alice与Bob的价值差是 c1 a1 - b1&#xf…...

【硬件产品经理】锂电池充电时间怎么计算?

目录 前言 电池容量 充电器功率 电能转换效率 充电时间计算 作者简介<...

Oracle篇—普通表迁移到分区表(第五篇,总共五篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣…...

作为开发人的我们,怎么可以不了解这些?

​​​​​​​必备技能&#xff1a; 文章结尾处&#xff0c;有资源获取方式 Spring Spring是一个轻量级的Java框架&#xff0c;它可以用于开发各种Java应用程序。Spring提供了丰富的功能&#xff0c;包括IoC容器、AOP、事务管理、Web开发、安全管理等等。Spring的IoC容器可以…...

基于 Echarts 的 Python 图表库:Pyecahrts交互式的日历图和3D柱状图

文章目录 概述一、日历图和柱状图介绍1. 日历图基本概述2. 日历图使用场景3. 柱状图基本概述4. 柱状图使用场景 二、代码实例1. Pyecharts绘制日历图2. Pyecharts绘制2D柱状图3. Pyecharts绘制3D柱状图 总结 概述 本文将引领读者深入了解数据可视化领域中的两个强大工具&#…...

web应用课——(第四讲:中期项目——拳皇)

代码AC Git地址&#xff1a;拳皇——AC Git链接...

Python爬虫http基本原理

Python爬虫逆向系列&#xff08;更新中&#xff09;&#xff1a;http://t.csdnimg.cn/5gvI3 HTTP 基本原理 在本节中&#xff0c;我们会详细了解 HTTP 的基本原理&#xff0c;了解在浏览器中敲入 URL 到获取网页内容之间发生了什么。了解了这些内容&#xff0c;有助于我们进一…...

iOS17使用safari调试wkwebview

isInspectable配置 之前开发wkwebview的页面的时候一直使用safari调试&#xff0c;毕竟jssdk交互还是要用这个比较方便&#xff0c;虽说用一个脚本插件没问题。不过还是不太方便。 但是这个功能突然到了iOS17之后发现不能用了&#xff0c;还以为又是苹果搞得bug&#xff0c;每…...

二叉树(1)

1 树概念及结构 1.1树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。 把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有一个特殊的结点&a…...

ArcGIS Pro字段编号相关代码

字段属于SHP文件的重要组成部分&#xff0c;在某些时候需要对字段进行编号&#xff0c;这里为大家介绍一下字段编号相关的代码&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的POI数据&#xff0c;除了POI数据&#xff0c;常见的GIS数据都可…...

AJAX-URL查询参数

定义&#xff1a;浏览器提供给服务器的额外信息&#xff0c;让服务器返回浏览器想要的数据 http://xxxx.com/xxx/xxx?参数名1值1&参数名2值2 axios语法 使用axios提供的params选项 注意&#xff1a;axios在运行时把参数名和值&#xff0c;会拼接到url?参数名值 axios(…...

DBeaver连接ClickHouse,时间少了8小时

文章目录 业务场景问题描述解决办法 业务场景 表字段time&#xff0c;类型为Datetime&#xff0c;插入时间格式为“yyyy-MM-dd HH:mm:ss” 问题描述 插入表中的时间比正常给的时间少了8小时。如&#xff0c;给定时间为&#xff1a; 2024-01-30 14:52:08 在表中显示的时间为&…...

week03day03(文件操作、正则表达式1)

一、文件操作 1.数据持久化&#xff08;数据本地化&#xff09; -- 将数据保存在硬盘 程序中的数据默认是保存在运行内存中的&#xff0c;保存在运行内存中的数据在程序运行结束后会自动释放。如果希望在程序结束后&#xff0c;数据仍可以使用&…...

【数据分享】1929-2023年全球站点的逐年最高气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01; 之前我们分享过1929-2023年全球气象站…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

Python常用模块:time、os、shutil与flask初探

一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...