【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.mzph.cn/news/662775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

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

ele-h5项目使用vue3+vite开发:第二节、search 搜索框组件开发

如何设计一个组件 需求分析 布局 content left-iconbodyinput-controlright-iconaction 功能 使用 defineEmits 定义组件的事件 在组件的script setup 里如何定义事件 使用defineEmits&#xff08;&#xff09;定义先声明事件接口 <script setup lang"ts"> int…

儿童护眼台灯怎么选择?一文教你如何选择儿童护眼台灯

护眼台灯是家长最常为孩子购买的用品之一&#xff0c;但是大部分人对它的了解并不多&#xff0c;很多人购买之后反而会觉得眼睛更容易疲劳&#xff0c;有不适的情况&#xff01;最主要的原因是因为挑选的台灯不够专业&#xff0c;次要原因则是使用方法不正确。所以今天跟大家讲…

Android.bp入门指南之浅析Android.bp文件

文章目录 Android.bp文件是什么&#xff1f;Android.bp的主要作用模块定义依赖关系构建规则模块属性插件支持模块的可配置性 为什么会引入Android.bp语法例子 Android.bp文件是什么&#xff1f; Android.bp 文件是 Android 构建系统&#xff08;Android Build System&#xff…

JavaScript基础五对象 内置对象 Math.random()

内置对象-生成任意范围随机数 Math.random() 随机数函数&#xff0c; 返回一个0 - 1之间&#xff0c;并且包括0不包括1的随机小数 [0, 1&#xff09; 如何生成0-10的随机数呢&#xff1f; Math.floor(Math.random() * (10 1)) 放大11倍再向下取整 如何生成5-10的随机数&…

element-ui icon 组件源码分享

今日简单分享 element-ui 源码中的 icon 组件&#xff0c;主要从以下两个方面来分享&#xff1a; 一、源码中 icon 设计思想是什么呢&#xff1f;主要从页面结构、数据、 icon 样式三个方面来分享。 1.1 源码中 icon 组件的页面结构&#xff0c;可以在 package 目录下找到 ico…

python爬虫实战——获取酷我音乐数据

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 开发环境: 版 本&#xff1a; python 3.8 编辑器&#xff1a;pycharm 2022.3.2 模块使用: requests >>> pip install requests 如何安装python第三方模块: win R 输入 cmd 点击确定, 输入安装命令 pip install…

k8s kubeadm部署安装详解

目录 kubeadm部署流程简述 环境准备 步骤简述 关闭 防火墙规则、selinux、swap交换 修改主机名 配置节点之间的主机名解析 调整内核参数 所有节点安装docker 安装依赖组件 配置Docker 所有节点安装kubeadm&#xff0c;kubelet和kubectl 定义kubernetes源并指定版本…

【Java】【SSE】【VUE】实现调用千帆大模型,实现打字效果

没有废话。只有演示、和源码地址 效果演示 源码地址 qianfan-sse-demo: 基于https://gitee.com/codinginn/chatgpg-sse-demo-springboot-vue改动

QT SQL

QT SQL模块提供数据库编程的支持&#xff0c;支持多种常见的数据库&#xff1a;MySQL\Oracle\MS SQL Server\SQLite等。SQL模块包含多个类&#xff0c;可以实现&#xff1a;数据库连接、SQL语句执行、数据获取与界面显示 等功能。数据 与 界面间用Model\View架构。 一、 二、Q…

FullStack之Django(2)模型和后台

FullStack之Django(2)模型和后台 author: Once Day date:2022年2月13日/2024年1月31日 漫漫长路&#xff0c;才刚刚开始… 全系列文档请查看专栏: FullStack开发_Once_day的博客-CSDN博客Django开发_Once_day的博客-CSDN博客 参考文档: 编写你的第一个 Django 应用&#…

docker安装定制gocd-agent

一、定制gocd-agent FROM gocd/gocd-agent-alpine-3.12:v21.1.0 MAINTAINER xxx "xxx163.com" # 切换到 root 用户 USER root # 安装 expect、jdk、docker RUN apk update && apk add expect && apk add openjdk8 && apk add docker &&…

Vue3的 组件事件

目录 介绍 触发与监听事件 事件参数 声明触发的事件 事件校验 总结 介绍 Vue3是Vue框架的最新版本&#xff0c;其中对组件事件进行了一些改进和优化。组件事件是Vue中一种常用的通信机制&#xff0c;用于在组件之间传递数据或触发动作。 Vue3中的组件事件主要有两种类型…

Spring Bean 定义常见错误

Spring 的核心是围绕 Bean 进行的。不管是 Spring Boot 还是 Spring Cloud&#xff0c;只要名称中带有 Spring 关键字的技术都脱离不了 Bean&#xff0c;而要使用一个 Bean 少不了要先定义出来&#xff0c;所以定义一个 Bean 就变得格外重要了。 当然&#xff0c;对于这么重要…

2024人工智能可以报考的证书有哪些

人工智能&#xff08;AI&#xff09;是致力于解决通常与人类智能相关联的认知性问题的计算机科学领域&#xff0c;这些问题包括学习、创造和图像识别等。 关键的人工智能技术有哪些&#xff1f; 深度学习神经网络构成了人工智能技术的核心。神经网络反映了人脑中发生的过程。大…

JOSEF约瑟 HRTH-Y-2H2D跳位合位 电源监视继电器 导轨安装

HRTH-Y-2H2D跳位合位 电源监视继电器&#xff1a; HRTH-Y-2H2D-X-T&#xff1b;HRTH-Y-2Z-X-T&#xff1b;HRTH-Y-2H-X-T&#xff1b; HRTH-J-2H2D-X-T&#xff1b;HRTH-J-2Z-X-T;HRTH-J -2H-X-T&#xff1b; HRTH-Y-2H2D&#xff1b;HRTH-Y-2Z&#xff1b;HRTH-Y-2H&#xff1…

遇到ubuntu设置交叉编译环境的问题

今天交叉编译器一直没安装成功&#xff0c;环境变量也配置了还是不对&#xff0c;最后发现Ubuntu是64位的要装 然后就好了 另外在进行嵌入式Linux开发的时候&#xff0c;要把主机、虚拟机、以及开发板设置在同一网段下&#xff0c;虚拟机一般设成临时的就可以&#xff0c;但是…

CS144--Chapter0--wsl2+docker环境搭建

我的笔记本配置 荣耀magicbook16&#xff0c;容量是500G&#xff0c;芯片是R7-5800 由于笔记本容量较小&#xff0c;因此考虑这个方案&#xff0c;对于台式机用户&#xff0c;建议可以直接用虚拟机或者双系统。 前言 斯坦福官网给出的方法是用他们的镜像&#xff08;基于Ubu…

抖音短视频矩阵营销系统源头独立开发搭建

开发背景 抖音短视频矩阵系统源码开发采用模块化设计&#xff0c;包括账号分析、营销活动、数据监控、自动化管理等功能。通过综合分析账号数据&#xff0c;快速发现账号的优势和不足&#xff0c;并提供全面的营销方案&#xff0c;以提高账号曝光率和粉丝数量。同时&#xff0c…

vue2 组件注册

简单分享怎么将组件注册为全局组件&#xff0c;主要分为三部分&#xff1a; 一、使用 Vue.install 方法将自义定的组件挂载到 Vue 实例上&#xff0c;如下&#xff1a; 二、注册为全局组件&#xff0c;如下&#xff1a; 三、页面使用&#xff0c;如下&#xff1a;