【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命令怎么查看网络连接、查看路由表、查看统计数据等,并介绍了各个选项的用法。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/366874.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

rust gui开发框架选择

作为一个系统编程强大语言,怎么能少得了图形界面的开发 实际上写这篇前我也不知道,于是我问了ai大模型,文心3.5和chatgpt4.0 答案实际上不能满意,最后我做了下筛选 参考博文: rust开发环境配置:链接 一、…

如何选择最适合的服务器

许多朋友想做一些网站,应用,游戏,小程序等等,都需要接触一个基础,就是服务器。服务器相当于一台24小时不关机的联网电脑,浏览网页或者应用相当于用户在访问这台电脑里的文件。那么如何选择最适合自己的服务…

[C++]类和对象(中)

一:类的六个默认成员函数 如果一个类中什么成员都没有,简称为空类。空类中并不是什么都没有,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为…

Android Studio非UI线程修改控件——定时器软件

目录 一、UI界面设计 1、UI样式 2、XML代码 二、功能编写 1、定义 2、实现方法 3、功能实现 一、UI界面设计 1、UI样式 2、XML代码 <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android…

Interpolator:在Android中方便使用一些常见的CubicBezier贝塞尔曲线动画效果

说明 方便在Android中使用Interpolator一些常见的CubicBezier贝塞尔曲线动画效果。 示意图如下 import android.view.animation.Interpolator import androidx.core.view.animation.PathInterpolatorCompat/*** 参考* android https://yisibl.github.io/cubic-bezier* 实现常…

【AI数字人-论文】Geneface论文

文章目录 前言pipelineaudio-to-motionMotion domain adaptation可视化 Motion-to-imageHead-NeRFTorso-NeRF 结果对比 前言 语音驱动的说话人视频合成旨在根据一段输入的语音&#xff0c;合成对应的目标人脸说话视频。高质量的说话人视频需要满足两个目标&#xff1a; &#…

算法基础,一维,二维前缀和差分详解

目录 1.前缀和 1.一维前缀和 例题&#xff1a;【模板】前缀和 2.二维前缀和 例题&#xff1a;【模板】二维前缀和 2.差分 1.一维差分 1.性质&#xff1a;d[i]的前缀和等于a[i] 2.性质&#xff1a;后缀区间修改 例题&#xff1a;【模板】差分 2.二维差分 例题&#x…

[.NET] 查询当前已安装所有 Win32 与 UWP 应用

为了获取当前设备用户已安装的所有应用程序, 一般来讲有两种方案. 一种是通过查询 “shell:AppsFolder” 目录下所有项, 一种是从开始菜单中获取所有快捷方式, 然后加上查询所有已安装的 UWP 应用, 最后得到总列表. 如需代码参考, 请看 github.com/SlimeNull/WindowsAppsQuery …

Opencv(C++)学习 之RV1126平台的OPENCV交叉编译

本文特点&#xff1a;网上已经有了很多opencv移植RV1106的文章&#xff0c;本文主要记录基于cmake-gui编译&#xff0c;碰到的报错&#xff0c;及解决报错问题的方法&#xff0c;同时简单总结一些配置项相关的知识。 一、环境&#xff1a; ubuntu18 x64 RV1126交叉编译工具链 …

用HTML5 + JavaScript实现下雪效果

用HTML5 JavaScript实现下雪效果 下面是用HTML5 JavaScript实现下雪效果示例&#xff0c;展示了如何使用 HTML5 的 <canvas> 元素以及 JavaScript 来创建下雪效果。效果如下&#xff1a; 源码如下&#xff1a; <!DOCTYPE html> <html lang"en">…

逸学区块链【solidity】真随机数

参考Get a Random Number | Chainlink Documentation 但是很贵&#xff0c;价格 Gas Price&#xff1a;当前gas价格&#xff0c;根据网络状况而波动。Callback gas &#xff1a;返回您所请求的随机值时&#xff0c;回调请求消耗的gas 量。验证gas &#xff1a;量gas 用于验证…

应用层协议 ——— HTTP协议

应用层协议 ——— HTTP协议 HTTP简介认识URL二、登录信息三、服务器地址四、服务器端口号五、带层次的文件路径六、查询字符串七、片段标识符urlencode和urldecodeHTTP协议格式HTTP请求协议格式HTTP的方法HTTP的状态码HTTP常见的HeaderHTTPS VS HTTP对称加密 VS 非对称加密 HT…

Unity | YooAssetV2.1.0 + HybridCLR热更新

目录 一、项目更改 二、使用YooAsset热更 1.资源配置 2.资源构建 3.将两个文件夹下的资源上传CDN服务器 4.修改代码 5.运行效果 本文记录利用YooAssetHybridCLR来进行资源和dll的更新。YooAsset使用的是新版V2.1.0。相比于旧版&#xff0c;dll(原生文件)和资源要建两个p…

zabbix添加主机

zabbix添加主机 查看ip地址 [rootershi ~]# yum -y install net-tools [rootershi ~]# ifconfig eth0 |grep netmask |cut -d " " -f 10 192.168.88.20被监控主机安装zabbix-agent [root20 ~]# mount /dev/cdrom /mnt [root20 ~]# yum -y install wget [root20 ~]…

conda虚拟环境基础

【一文搞定最新版Anaconda】Win11 安装 Anaconda&#xff08;2023.9&#xff09;详解&#xff08;不删除旧版情况下下载、安装、注册、登录、设置环境变量、迁移旧环境、配置修改换源等&#xff09;连接Pycharm_win11安装anaconda-CSDN博客 conda命令大全&#xff08;create/in…

消息总线在微服务中的应用

直连式配置中心 上一篇文章介绍了 Spring Cloud 中的分布式配置组件 Config&#xff0c;每个服务节点可以从Config Server 拉取外部配置信息。但是似乎还有一个悬而未决的问题&#xff0c;那就是当服务节点数量非常庞大的时候&#xff0c;我们不可能一台一台服务器挨个去手工触…

2024Node.js零基础教程(小白友好型),nodejs新手到高手,(四)NodeJS入门——网络基础概念

041_网络基础概念_IP的介绍 hello&#xff0c;大家好&#xff0c;我们来一起认识一下IP。 在开始介绍 IP 之前&#xff0c;我们首先来介绍一个场景&#xff0c;方便大家去理解 IP 这个概念。比如这会儿强哥正在成都&#xff0c;然后还有另外一个小伙伴&#xff0c;谁呢&#x…

CodeFuse成功支持通义千问算法大赛,评测方案已开源

前段时间&#xff0c; 首届通义千问AI挑战赛成功举办&#xff0c;CodeFuse 为大赛提供技术支持&#xff0c;模型微调框架 MFTCoder 和 CodeFuseEval 评测框架为大赛保驾护航&#xff0c;助力大赛圆满完成。我们基于leetcode 阿里和蚂蚁最新面试题库建设了“模型赛马”在线打榜的…

25.云原生之ArgoCD-app of apps模式

文章目录 app of apps 模式介绍app如何管理apphelm方式管理kustomize方式管理 app of apps 模式介绍 通过一个app来管理其他app&#xff0c;当有多个项目要发布创建多个app比较麻烦&#xff0c;此时可以创建一个管理app&#xff0c;管理app创建后会创建其他app。比较适合项目环…

Ansible基础及常用模块

目录 1.前言 Ansible Ansible的特性 2.ansible环境安装部署 管理端安装ansible(192.168.88.22) ansible目录结构 配置主机清单 配置密钥对验证 3.ansible命令行模块 command 模块 shell 模块 ​编辑cron 模块 user 模块 group 模块 copy 模块 file 模块 hostn…