【计算机网络】Linux网络的几个常用命令

 📚 博主的专栏

🐧 Linux   |   🖥️ C++   |   📊 数据结构  | 💡C++ 算法 | 🅒 C 语言  | 🌐 计算机网络

相关文章:计算机网络专栏

目录

ping(检测网络连通性)

netstat(网络状态、用来查看网络服务)

pidof [进程名](查看服务器的进程 id 时非常方便)


ping(检测网络连通性)

window和云服务器linux是否能连通

ping后面跟上目标网址对应的域名或者ip地址。

pupu@VM-8-15-ubuntu:~/computer-network/class_44/1.udp_echo_server$ ping www.baidu.com
PING www.a.shifen.com (220.181.111.1) 56(84) bytes of data.
64 bytes from 220.181.111.1 (220.181.111.1): icmp_seq=1 ttl=251 time=2.82 ms
64 bytes from 220.181.111.1 (220.181.111.1): icmp_seq=2 ttl=251 time=2.83 ms
64 bytes from 220.181.111.1 (220.181.111.1): icmp_seq=3 ttl=251 time=2.83 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 2.818/2.827/2.834/0.006 ms

默认ping开始后是不会停止的,因此可以加上选项c(count次数)num

pupu@VM-8-15-ubuntu:~/computer-network/class_44/1.udp_echo_server$ ping -c1 www.baidu.com
PING www.a.shifen.com (110.242.70.57) 56(84) bytes of data.
64 bytes from 110.242.70.57 (110.242.70.57): icmp_seq=1 ttl=251 time=16.5 ms--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 16.545/16.545/16.545/0.000 ms

netstat(网络状态、用来查看网络服务)

常用选项:
• n 拒绝显示别名, 能显示数字的全部转化成数字
• l 仅列出有在 Listen (监听) 的服务状态
• p 显示建立相关链接的程序名
• t (tcp)仅显示 tcp 相关选项

• u (udp)仅显示 udp 相关选项

• a (all)显示所有选项, 默认不显示 LISTEN 相关

准备好一个udp或者tcp的服务器,开启服务器之后使用netstat【选项】可以查看是否运行
例如现在:“已有一个udp服务”:在开启服务器(端口号8899)后,

这里就可以看到udp服务的相关信息以及看到相关进程(udpserver)的信息

pupu@VM-8-15-ubuntu:~/computer-network/class_44/1.udp_echo_server$ netstat -aup
(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
udp        0      0 localhost:8899          0.0.0.0:*                           3500381/./udpserver 
udp        0      0 localhost:domain        0.0.0.0:*                           -                   
udp        0      0 VM-8-15-ubuntu:bootpc   0.0.0.0:*                           -                   
udp        0      0 VM-8-15-ubuntu:ntp      0.0.0.0:*                           -                   
udp        0      0 localhost:ntp           0.0.0.0:*                           -                   
udp6       0      0 VM-8-15-ubuntu:ntp      [::]:*                              -                   
udp6       0      0 ip6-localhost:ntp       [::]:*                              -                   

注意:当前只能查到(看到相关信息)我自己这个pupu身份启动的进程,其他是不允许我看到的,是系统本身自启动的,因此我们提权,想看到数字的ip地址就带n

pupu@VM-8-15-ubuntu:~/computer-network/class_44/1.udp_echo_server$ sudo netstat -aup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
udp        0      0 localhost:8899          0.0.0.0:*                           3500381/./udpserver 
udp        0      0 localhost:domain        0.0.0.0:*                           826/systemd-resolve 
udp        0      0 VM-8-15-ubuntu:bootpc   0.0.0.0:*                           824/systemd-network 
udp        0      0 VM-8-15-ubuntu:ntp      0.0.0.0:*                           411559/ntpd         
udp        0      0 localhost:ntp           0.0.0.0:*                           411559/ntpd         
udp6       0      0 VM-8-15-ubuntu:ntp      [::]:*                              411559/ntpd         
udp6       0      0 ip6-localhost:ntp       [::]:*                              411559/ntpd pupu@VM-8-15-ubuntu:~/computer-network/class_44/1.udp_echo_server$ sudo netstat -anup
[sudo] password for pupu: 
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
udp        0      0 127.0.0.1:8899          0.0.0.0:*                           3500381/./udpserver 
udp        0      0 127.0.0.53:53           0.0.0.0:*                           826/systemd-resolve 
udp        0      0 10.2.8.15:64            0.0.0.0:*                           824/systemd-network 
udp        0      0 10.2.8.15:123           0.0.0.0:*                           411559/ntpd         
udp        0      0 127.0.0.1:123           0.0.0.0:*                           411559/ntpd         
udp6       0      0 fe80::5054:ff:fe45::123 :::*                                411559/ntpd         
udp6       0      0 ::1:123                 :::*                                411559/ntpd         
pupu@VM-8-15-ubuntu:~/computer-network/class_44/1.udp_echo_server$  

watch:n 是刷新的次数 ,可以定期检测,指定命令的执行

每个 1s 执行一次 netstat -aup
$ watch -n 1 netstat -aup

pidof [进程名](查看服务器的进程 id 时非常方便)

想要关闭掉进程的时候需要知道进程的pid,之前使用的都是这样的方法:

pupu@VM-8-15-ubuntu:~/computer-network/class_44/1.udp_echo_server$ ps -ajx | grep udpserver 
3485448 3506444 3506444 3485448 pts/8    3506444 S+    1002   0:00 ./udpserver
3439936 3507463 3507462 3439936 pts/0    3507462 S+    1002   0:00 grep --color=auto 

我们可以直接使用pidof 指定进程的名称,就可以拿到,当前进程的pid:

pupu@VM-8-15-ubuntu:~/computer-network/class_44/1.udp_echo_server$ pidof udpserver 
3506444

再直接kill掉进程:

kill -9 3506444

或者:管道是一个文件,当pidof将管道传给kill命令时,他是通过自己的标准输入文件描述符0,来把数据读到kill命令里面的,|命令是将命令行参数也就是进程pid放到kill命令的命令行参数,实际上xargs就相当于把从管道传过来的数据,传给后续命令的命令行参数上,拼接上。

pidof udpserver | xargs kill -9

结语:

       随着这篇博客接近尾声,我衷心希望我所分享的内容能为你带来一些启发和帮助。学习和理解的过程往往充满挑战,但正是这些挑战让我们不断成长和进步。我在准备这篇文章时,也深刻体会到了学习与分享的乐趣。    

         在此,我要特别感谢每一位阅读到这里的你。是你的关注和支持,给予了我持续写作和分享的动力。我深知,无论我在某个领域有多少见解,都离不开大家的鼓励与指正。因此,如果你在阅读过程中有任何疑问、建议或是发现了文章中的不足之处,都欢迎你慷慨赐教。

        你的每一条反馈都是我前进路上的宝贵财富。同时,我也非常期待能够得到你的点赞、收藏,关注这将是对我莫大的支持和鼓励。当然,我更期待的是能够持续为你带来有价值的内容。

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

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

相关文章

全开源、私有化部署!轻量级用户行为分析系统-ClkLog

ClkLog是一款支持私有化部署的全开源埋点数据采集与分析系统,兼容Web、App、小程序多端埋点,快速洞察用户访问路径、行为轨迹,并生成多维用户画像。助力中小团队搭建轻量灵活的用户行为分析平台。 为什么需要一款私有化的埋点分析系统&#x…

golang定时器的精度

以 go1.23.3 linux/amd64 为例。 定时器示例代码: package mainimport ("context""fmt""time" )var ctx context.Contextfunc main() {timeout : 600 * time.Secondctx, _ context.WithTimeout(context.Background(), timeout)dea…

svn 远程服务搜索功能

svn服务器没有远程搜索功能,靠人工检索耗时耗力,当服务器文件过多时,全部checkout到本地检索,耗时太久。 1. TortoiseSVN 安装注意事项 下载官网地址:https://tortoisesvn.en.softonic.com/download 安装时选中 co…

uniapp-商城-39-shop 购物车 选好了 进行订单确认4 配送方式2 地址页面

上面讲基本的样式和地址信息,但是如果没有地址就需要添加地址,如果有不同的地址就要选地址。 来看看处理方式, 1、回顾 在delivery-layout中 methods:{goAddress(){uni.navigateTo({url:"/pagesub/pageshop/address/addrlist"})…

Linux命令-iostat

iostat 命令介绍 iostat 是一个用于监控 Linux 系统输入/输出设备加载情况的工具。它可以显示 CPU 的使用情况以及设备和分区的输入/输出统计信息,对于诊断系统性能瓶颈(如磁盘或网络活动缓慢)特别有用。 语法: iostat [options…

vue2关于Node.js17及以上报digital envelope错误的解决办法

文章目录 简介错误原因解决方案设置环境变量修改package.json安装旧版本Node.js更新依赖项更改加密设置 简介 digital envelope routines::unsupported错误‌通常发生在Node.js版本升级到17或更高版本后,因为这些版本开始使用OpenSSL 3.0,它对算法和密钥…

LLM - Large Language Model

回顾2024:与LLM又相伴一年的经历与思考 - 知乎万字长文入门大语言模型(LLM) - 知乎“大模型本质就是两个文件!”特斯拉前AI总监爆火LLM科普,时长1小时,面向普通大众 - 知乎大模型本质及趋势剖析&#xff0c…

Linux 内核网络协议栈中的关键数据结构:inet_skb_parm 与 ip_options

在 Linux 内核的网络协议栈中,数据包的高效处理依赖于一系列精心设计的数据结构。这些结构体不仅需要存储网络数据的元信息,还需支持复杂的协议逻辑(如路由、分片、安全策略等)。本文聚焦两个核心结构体 struct inet_skb_parm 和 struct ip_options,解析它们的设计原理、功…

如何修复卡在恢复模式下的 iPhone:简短指南

Apple 建议使用恢复模式作为最后的手段,以便在 iPhone 启动循环或显示 Apple 标志时恢复 iPhone。这是解决持续问题的简单方法,但您很少使用。但是,当您的 iPhone 卡住恢复模式本身时,您会怎么做?虽然 iPhone 卡在这种…

10前端项目----商品详情页/滚轮行为

商品详情页面 商品详情组件发送请求获取相应商品详情信息组件展示数据 优化一下路由配置代码滚轮自动置顶 商品详情组件 路由配置 点击商品进行跳转—将Detail组件变成路由组件 从商品到详情,肯定需要传参(产品ID)告诉Detail是哪个商品,需要展示哪个商品…

DIFY 又跟新了,来到 1.3.0 版本,看正文

欢迎来到 1.3.0 版本!添加了各种巧妙的功能、修复了错误,并带来了一些新功能: 一、核心亮点: 结构化输出 1、LLM 节点新增JSON Schema编辑器,确保大语言模型能够返回符合预设格式的JSON数据。这一功能有助于提升数据…

git检查提交分支和package.json的version版本是否一致

这里写自定义目录标题 一、核心实现步骤‌1.安装必要依赖‌2.初始化 Husky‌3.创建校验脚本‌4.配置 lint-staged‌5.更新 Husky 钩子‌ 三、工作流程说明‌四、注意事项‌ 以下是基于 Git Hooks 的完整解决方案,通过 husky 和自定义脚本实现分支名与版本号一致性校…

react-navigation-draw抽屉导航

心得写在前面分享给大家: 我的实现方法,并没有完全安装官网来做,而是进行了简化,效果是一样的。没有按照官网说的修改metro.config.js文件,同时也没有 react-native-gesture-handler 的安装后,我们需要有条…

【计算机视觉】CV实战项目-高分辨率遥感图像语义分割:High-Resolution-Remote-Sensing-Semantic-Segmentation

高分辨率遥感图像语义分割技术解析与实战指南 项目背景与意义核心技术解析1. **膨胀预测(Dilated Prediction)**2. **后处理优化**3. **半监督学习:伪标签(Pseudo Labeling)**4. **可视化与监控** 实战指南&#xff1a…

免费送源码:Java+SSM+MySQL 基于SSM开发的校园心理咨询平台系统的设计与实现 计算机毕业设计原创定制

目 录 1 绪论 1 1.1 研究背景 1 1.2开发现状 1 1.3论文结构与章节安排 2 2 校园心理咨询平台系统系统分析 3 2.1 可行性分析 3 2.1.1 技术可行性分析 3 2.1.2 经济可行性分析 3 2.1.3 法律可行性分析 3 2.2 系统功能分析 3 2.2.1 功能性分析 4 2.2.2 非功能性分析…

学习笔记:Qlib 量化投资平台框架 — GETTING STARTED

学习笔记:Qlib 量化投资平台框架 — GETTING STARTED Qlib 是微软亚洲研究院开源的一个面向人工智能的量化投资平台,旨在实现人工智能技术在量化投资中的潜力,赋能研究,并创造价值,从探索想法到实施生产。Qlib 支持多种…

cmake qt 项目编译

当前MAC 编译命令 rm -rf build 删除之前build记录 mkdir build && cd build 重新生成build文件夹 cmake -DCMAKE_PREFIX_PATH"/usr/local/opt/qt" .. Cmake编译指定我的qt路径 cmake --build . 生成程序 程序生成后如此 第三方库单独下载 在CMakeLis…

Swift与iOS内存管理机制深度剖析

前言 内存管理是每一位 iOS 开发者都绕不开的话题。虽然 Swift 的 ARC(自动引用计数)极大简化了开发者的工作,但只有深入理解其底层实现,才能写出高效、健壮的代码,避免各种隐蔽的内存问题。本文将从底层原理出发&…

【机器学习】​碳化硅器件剩余使用寿命稀疏数据深度学习预测

2025 年,哈尔滨工业大学的 Le Gao 等人基于物理信息深度学习(PIDL)方法,研究了在稀疏数据条件下碳化硅(SiC)MOSFET 的剩余使用寿命(RUL)预测问题,尤其关注了其在辐射环境下的可靠性。该研究团队通过一系列实验,采用 ⁶⁰Co γ 射线作为辐射源,以 50rad/s 的剂量率照…

Spring Boot API版本控制实践指南

精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 引言 在API迭代过程中,版本控制是保障系统兼容性的重要机制。合理的版本控制策略可以帮助开发团队平滑过渡接口变更,同时支持多版本客…