【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 -r
和netstat -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…...
【硬件产品经理】锂电池充电时间怎么计算?
目录 前言 电池容量 充电器功率 电能转换效率 充电时间计算 作者简介<...

Oracle篇—普通表迁移到分区表(第五篇,总共五篇)
☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…...
作为开发人的我们,怎么可以不了解这些?
必备技能: 文章结尾处,有资源获取方式 Spring Spring是一个轻量级的Java框架,它可以用于开发各种Java应用程序。Spring提供了丰富的功能,包括IoC容器、AOP、事务管理、Web开发、安全管理等等。Spring的IoC容器可以…...

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

web应用课——(第四讲:中期项目——拳皇)
代码AC Git地址:拳皇——AC Git链接...

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

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

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

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

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

DBeaver连接ClickHouse,时间少了8小时
文章目录 业务场景问题描述解决办法 业务场景 表字段time,类型为Datetime,插入时间格式为“yyyy-MM-dd HH:mm:ss” 问题描述 插入表中的时间比正常给的时间少了8小时。如,给定时间为: 2024-01-30 14:52:08 在表中显示的时间为&…...
week03day03(文件操作、正则表达式1)
一、文件操作 1.数据持久化(数据本地化) -- 将数据保存在硬盘 程序中的数据默认是保存在运行内存中的,保存在运行内存中的数据在程序运行结束后会自动释放。如果希望在程序结束后,数据仍可以使用&…...

【数据分享】1929-2023年全球站点的逐年最高气温数据(Shp\Excel\免费获取)
气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,其中又以气温指标最为常用!说到气温数据,最详细的气温数据是具体到气象监测站点的气温数据! 之前我们分享过1929-2023年全球气象站…...

【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录
#工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…...

JUC并发编程(二)Monitor/自旋/轻量级/锁膨胀/wait/notify/锁消除
目录 一 基础 1 概念 2 卖票问题 3 转账问题 二 锁机制与优化策略 0 Monitor 1 轻量级锁 2 锁膨胀 3 自旋 4 偏向锁 5 锁消除 6 wait /notify 7 sleep与wait的对比 8 join原理 一 基础 1 概念 临界区 一段代码块内如果存在对共享资源的多线程读写操作…...
Docker环境下安装 Elasticsearch + IK 分词器 + Pinyin插件 + Kibana(适配7.10.1)
做RAG自己打算使用esmilvus自己开发一个,安装时好像网上没有比较新的安装方法,然后找了个旧的方法对应试试: 🚀 本文将手把手教你在 Docker 环境中部署 Elasticsearch 7.10.1 IK分词器 拼音插件 Kibana,适配中文搜索…...
从0开始一篇文章学习Nginx
Nginx服务 HTTP介绍 ## HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 ## HTTP工作在 TCP/IP协议体系中的TCP协议上&#…...

自动化立体仓库堆垛机控制系统STEP7 OB1功能块
1、堆垛机控制系统STEP7硬件组态如下图 CPU CPU 314C-2 PN/DP 6ES7 314-6EH04-0AB0 SM 338 POS-INPUT AO2x12Bit 6ES7 332-5HB01-0AB0 2、堆垛机控制系统STEP7内部变量 前进HMI M 0.0 BOOL 后退HMI M 0.1 BOOL 上升HMI M 0.2 B…...

架构设计技巧——架构设计模板
一份实用、高效、覆盖核心要素的架构设计模板是确保设计质量、促进团队沟通和指导实施的关键。以下是一个经过提炼的架构设计文档核心模板框架,结合了业界最佳实践,并强调灵活裁剪: 架构设计文档模板 (核心框架) 文档标识 项目/系统名称&a…...

AWS Elastic Beanstalk + CodePipeline(Python Flask Web的国区CI/CD)
目标 需要使用AWS Elastic Beanstalk 部署一个Python的Flask Web应用,并且使用CodePipeline作为CI/CD工作流。 eb部署图 前提 假设你已经有一个能够正常运行的Python的Flask Web应用项目代码,而且需要对已有Flask工程做一些调整。由于AWS Elastic Bea…...
当前市场环境下,软件行业的突围之道:技术演进与商业模式重构
一、行业背景:软件行业进入结构性调整期 2024年至今,软件行业面临三重挑战: 宏观经济承压:全球经济放缓,企业IT预算趋于谨慎; 资本市场收缩:融资环境收紧,盈利能力成为生死线&…...
如何写一篇基于Spring Boot + Vue + 微信小程序的软件的接口文档
如何写一篇基于Spring Boot Vue 微信小程序的软件的接口文档 下面是一个例子,仅供参考! 基于Spring Boot Vue 微信小程序的博客系统接口文档 技术栈:Spring Boot 3.x Vue 3 Element Plus 微信小程序原生框架 文档版本:v1…...
Selenium自动化操作
1、跳转页面播放视频 我们以b站为例,测试是否可以点击模块进行播放视频 //点击页面看是否视频正常播放public void turn() throws InterruptedException {driver.findElement(By.cssSelector("#i_cecream > div.bili-feed4 > main > div.feed2 >…...