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

怎么理解ping?这是我听过最好的回答

晚上好,我是老杨。

Ping这几个字母,已经深入网工人的骨髓了吧?

把Ping用到工作里,肯定不少人在用,但对Ping的了解和理解是不是足够深,取决了你能在工作里用到什么程度,能让它帮你到什么地步。

我用三个问题来测试一下,你对Ping的了解程度:

如何知道是否有人正在发起 ping?

对方执行 ping 的时候,能否在对方不知情的情况下获取对方的 IP?

ping 命令工作在 OSI 七层网络模型的哪一层?

能回答的上来不?

今天想系统和你说一说Ping那些事,虽然我之前也说过不少,但都相对碎片化。

从头给你来一遍,效果更佳。

今日文章阅读福利:《网工最全技术图谱(高清)》

私信我,回复关键词“网络技术”,即可领取网工经典技术思维导图(最全版本),替你理清技术思路,拨开技术迷雾,指导你24年的努力方向

01 怎么趣味理解ping?

Ping这个技术,其实就是咱们用来检查网络通不通的一种小工具,用它就可以帮你了解网络连接的情况。

它的原理就像是在网络世界里喊话,看看对方能不能听见你的声音。具体点说,ping利用ICMP协议发出一个“回声请求”,然后等待对方回应一个“回声应答”。

如果对方回应了,就说明网络是通的,还能告诉你大概需要多久时间。

也就是说,你用Ping的时候,其实是在向另一台电脑或者服务器打个招呼:“嘿,你在吗?”

然后如果对方在线,它会回复你:“在呢,怎么了?”

这样一来回,你就知道对方在那儿,并且你们之间的通信是通的。

如果你发现对方没有回应,那可能是它不在线,或者在路上出了点问题,比如网络连接断了,或者别的原因。

这就好比你喊了朋友一声,但他没回答,你可能就会想,他是没听见呢,还是碰到什么麻烦了?

而且,Ping还可以告诉你这“喊话”用了多久。

如果回应很快就来了,说明网络速度挺快;

如果等了半天才有回复,那可能就表示网络有点卡,或者是距离太远了。

也就是说,利用Ping,你就可以向设备B发送一个数据包以检查其是否能够做出回应。

动图封面

若无法Ping通设备B,这表明目标主机可能遇到了断线或其他连接问题。

若能成功Ping通,可以通过测量数据包往返所花费的时间来确定网络延迟。

Ping用的是ICMP协议。这个协议和TCP、UDP不太一样,后两者工作在OSI模型的第四层,也就是传输层,但ICMP要更基础一些,位于网络层的第三层。

当我们聊到Ping命令,它就是在网络层上执行的一个功能,用ICMP协议来检查两台主机之间是否可以互相到达,以及需要多少时间。

ICMP协议,全称是Internet Control Message Protocol,通常用于网络上的错误报告和状态信息的传递。

当你执行Ping命令时,实际上就是在发送一个ICMP Echo Request消息,然后等待对方回复一个ICMP Echo Reply。

这样一来一往,就能检测出两个网络节点之间的连接是不是畅通的,同时还能测出数据往返所需的时间,也就是往返时间(RTT)。

当然,关于ping的实用方法也有不少。

你可以在命令提示符中键入“ping”后跟目标IP地址或者域名,这样会发送四个回显请求包并等待回应,以检测网络连接的有效性和响应时间。

如果你输入“ping -t”加上目标IP地址或域名,ping会持续不断地发送数据包并接收回应,直到你按下Ctrl+C来停止,这有助于观察网络的稳定程度和数据丢失情况。

通过输入“ping -n 数量”然后是目标IP地址或域名,你可以指定发送数据包的确切数量,这样可以更精确地评估网络的性能指标。

你也可以通过键入“ping -s 跳数”加目标IP地址或域名,可以获取每一跳的时间戳信息,帮助分析造成网络延迟的潜在因素。

这些内容我在《想不到吧,原来ping还能这么用 》都有详细说明。

最近还发现了两款Ping的增强工具,十分好用,叫做“AKKPing”和“科来Ping”,推荐你去尝试下载使用下,体验感提升不少。

当然,私信暗号“工具2024”,这些好用工具下载链接,也可以找我拿哈。

02 如何知道有人正在 ping 服务器?

在网络中,ping的作用主要有三种:

1、用来检测网络的连通情况和分析网络速度

2、根据域名得到服务器IP

3、根据 ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量

那如果有人正在 ping 我们,有没有办法知道是谁在 ping ?

当然可以。

执行ping命令本质就是在对目标主机发起主动的网络探测,更确切地说是在发起一个请求,然后等待一个响应,通过这个响应来判断目标主机的网络状态。

要知道,Ping用的是哪个层次的协议来发这个招呼,你一旦懂了,就能通过一些工具,比如“抓包”工具,看看有没有人正在对服务器做Ping探测。

而且,翻翻服务器的日记,也能发现是不是有谁以前Ping过它。因为Ping是基于TCP/IP模型里的第三层,也就是网络层,用ICMP协议聊天的,所以你就可以利用这点,通过抓包找到那些Ping的数据传输,分析数据包的来源,揪出是谁在呼叫你的主机。

至于看过去谁Ping过你的电脑,道理差不多,只不过一个是现场直播,一个成了回放旧录像带。

有时候你会听到人们说Ping工作在应用层,这么理解其实是因为Ping是直接为用户服务的。

但如果你换个角度看,从干活的层面来看,你会发现Ping更像是网络层的活儿。简单来说就是:Ping为大家服务,但它的技术支持来自网络层。

那么实操上怎么做?

如果你用的是Linux系统,你可以用iptables设置一套专门对付ICMP包的过滤规则,然后用dmesg命令查看这些数据包。

或者你也可以用tcpdump这工具来捕捉Ping的请求。Windows用户的话,就方便多了,直接用Wireshark,在界面上输入“ICMP”,就能过滤出相关的信息,一目了然。

记住,如果你能够访问服务器或设备的网络接口,你就有可能找到谁在Ping你。

但有时候,由于网络地址转换(NAT)或者伪造IP地址的原因,看到的源IP可能不会直接指向实际的发送者,而是显示为中间设备或代理服务器的地址。

在这种情况下,你可能需要更深入的分析或者联系你的互联网服务提供商以获取更多帮助。

关于更多Ping的技术内容详解,感兴趣的网工朋友可以继续浏览:

《同vlan不同网段能否ping通? 》

《没看完这篇文章,别说你会用Ping 》

《奇怪,能ping通怎么还是上不了网? 》

《ping三个不存在的IP地址后,你能得到……》

《网络工程师常用命令排行榜,Ping就在这一行》

愿你看完能过收获良多。

原创:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

相关文章:

怎么理解ping?这是我听过最好的回答

晚上好,我是老杨。 Ping这几个字母,已经深入网工人的骨髓了吧? 把Ping用到工作里,肯定不少人在用,但对Ping的了解和理解是不是足够深,取决了你能在工作里用到什么程度,能让它帮你到什么地步。…...

用户请求到响应可能存在的五级缓存

用户请求到响应可能存在的五级缓存 当用户在浏览器中输入URL进行访问时,请求并不是直接达到服务器,而是会经历多级缓存,以提高网络效率。本文将详细介绍用户请求到响应可能会经历的五个缓存级别:浏览器缓存,代理缓存&…...

云图极速版限时免费活动

产品介绍 云图极速版是针对拥有攻击面管理需求的用户打造的 SaaS 应用,致力于协助用户发现并管理互联网资产攻击面。 实战数据 (2023.11.6 - 2024.2.23) 云图极速版上线 3 个月以来,接入用户 3,563 家,扫描主体 19,961 个,累计发…...

vue3 vuex

目录 Vuex 是什么 什么是“状态管理模式”? 什么情况下我应该使用 Vuex? 使用方法: 提交载荷(Payload) 对象风格的提交方式 使用常量替代 Mutation 事件类型 Mutation 必须是同步函数 在组件中提交 Mutation …...

Java架构师之路三、网络通信:TCP/IP协议、HTTP协议、RESTful API、WebSocket、RPC等。

目录 TCP/IP协议: HTTP协议: RESTful API: WebSocket: RPC: UDP: HTTPS: 上篇:Java架构师之路二、数据库:SQL语言、关系型数据库、非关系型数据库、数据一致性、事…...

【C++】笔试训练(九)

目录 一、选择题二、编程题1、另类加法2、走方格的方案数 一、选择题 1、某函数申明如下 void Func(int& nVal1);有int a,下面使用正确的为() A Func(a) B Func(&a) C Func(*a) D Func(&(*a)) 答案:A 2、C语言中,类…...

模板注入 [BJDCTF2020]Cookie is so stable1

打开题目 有flag页面,有Hint页面 这里题目有提示,突破口是在cookie上面 经过测试发现有ssti注入: 抓包 判断模板注入类型的办法 输入 {{7*‘7’}} 回显49 输入{{7*‘7’}},返回49表示是 Twig 模块 输入{{7*‘7’}}&#xff0…...

2-18算法习题总结

二分查找问题 [COCI 2011/2012 #5] EKO / 砍树 题目描述 伐木工人 Mirko 需要砍 M M M 米长的木材。对 Mirko 来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko 只被允许砍伐一排树。 Mirko 的伐木…...

【软考高项】【英语知识】-- 单词积累

目录 一、常见计算机技术词汇 二、项目管理词汇 2.1 十大知识域 2.2 五大过程组 2.3 49个子过程 2.4 工具和技术汇总 2.5 输入和输出汇总 一、常见计算机技术词汇 序号中文英文1云计算Cloud computing2云存储Cloud storage3云服务Cloud service4软件即服务SaaS5平台即服…...

外包干了3个月,技术退步明显

先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...

【ArcGIS微课1000例】0105:三维模型转体模型(导入sketchup转多面体为例)

文章目录 一、实验概述二、三维模型转多面体三、加载多面体数据四、注意事项一、实验概述 ArcGIS可以借助【导入3D文件】工具支持主流的三维模型导入。支持 3D Studio Max (.3ds)、VRML and GeoVRML 2.0 (.wrl)、SketchUp 6.0 (.skp)、OpenFlight 15.8 (.flt)、Collaborative …...

创建型设计模式 - 原型设计模式 - JAVA

原型设计模式 一 .简介二. 案例三. 补充知识 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 一 .简介 原型模式提供了一种机制,可以将原始对象复制到新对象&#xff0…...

Squid代理:APT、PyPI和Docker的内网穿透解决方案

如果你是在内网环境,并且你知道一台服务器可以链接外网,可以通过Squid代理的方式更新apt、pypi、docker源。 你可以通过在服务器A(172.16.16.122,可上外网)上设置代理服务器来实现服务器B通过服务器A访问外部APT源的需…...

MYSQL--触发器

一:介绍: 1.触发器实际上就是一种特殊的存储过程,两者都能够在MYSQL当中完成特定的功能,存储在服务器上的特殊SQL片段,可以重复进行使用,提高复用性的一种功能.但是触发器并不需要进行调用,在使用DML操作的时候会自动的调用相关的触发器操作 2.触发器能够对于DML操作当中的,删除…...

onnx 1.16 doc学习笔记四:python API-If和Scan

onnx作为一个通用格式,很少有中文教程,因此开一篇文章对onnx 1.16文档进行翻译与进一步解释, onnx 1.16官方文档:https://onnx.ai/onnx/intro/index.html](https://onnx.ai/onnx/intro/index.html), 如果觉得有收获&am…...

如何构建企业专属GPT

大语言模型(LLM)具有令人印象深刻的自然语言理解和生成能力, 2022年11月底OpenAI发布了ChatGPT,一跃成为人工智能AI领域的现象级应用。但由于LLM的训练数据集主要来源于互联网数据,企业私域信息并未被LLM所训练&#x…...

知识积累(二):损失函数正则化与权重衰减

文章目录 1. 欧氏距离与L2范数1.1 常用的相似性度量 2. 什么是正则化?参考资料 本文只介绍 L2 正则化。 1. 欧氏距离与L2范数 欧氏距离也就是L2范数 1.1 常用的相似性度量 1)点积 2)余弦相似度 3)L1和L2 2. 什么是正则化&…...

消息中间件-面试题

MQ选择 一、Kafka 1、消息队列如何保证消息可靠性 消息不重复 生产者控制消费者幂等消息不丢失 生产者发送,要确认broker收到并持久化broker确认消费者消费完,再删除消息2、kafka是什么 Kafka是一种高吞吐量、分布式、基于发布/订阅的消息中间件,是Apache的开源项目。broke…...

Python 将二维数组或矩阵变为三维

Python 将二维数组或矩阵变为三维 引言正文基础 拓展 引言 之前,我们已经介绍过了 Python 将一维数组或矩阵变为三维。然而,很多时候,我们也需要对二维矩阵进行操作,这里特来介绍一下如何将二维矩阵扩展为三维。 阅读这一篇前推…...

区块链与Solidity详细介绍及基本语法使用

一、区块链简介 区块链是一种分布式数据库技术,它以块的形式存储数据,并通过加密算法确保数据的安全性。每个块包含一系列交易,并通过哈希值与前一个块相连接,形成一个链式结构。这种结构使得数据难以被篡改,因为任何对…...

题目 1253: 老王赛马

题目描述: 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为“战国时期”。在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都。 赛马是当时最受齐国贵族…...

【MATLAB源码-第144期】基于matlab的蝴蝶优化算法(BOA)无人机三维路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 ​蝴蝶优化算法(Butterfly Optimization Algorithm, BOA)是基于蝴蝶觅食行为的一种新颖的群体智能算法。它通过模拟蝴蝶个体在寻找食物过程中的嗅觉导向行为以及随机飞行行为,来探索解空间…...

地下管线管网三维建模工具MagicPipe3D V3.4.2发布

经纬管网建模系统MagicPipe3D,本地离线参数化构建地下管网三维模型(包括管道、接头、附属设施等),输出标准3DTiles服务、Obj模型等格式,支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析&…...

糖尿病性视网膜病变(DR)的自动化检测和分期

糖尿病性视网膜病变(DR)的自动化检测和分期 提出背景DR的阶段及其特征 历年解法计算机视觉方法多分类方法 新的解法深度学习方法迁移学习大模型多模型集成全流程分析 总结特征1:图像分割特征2:疾病分级特征3:治疗建议生…...

C 标准库 - <errno.h>

在C语言编程中&#xff0c;<errno.h> 头文件扮演着至关重要的角色&#xff0c;它提供了一个全局变量 errno 以及一系列预定义宏&#xff0c;用于指示系统调用或库函数执行过程中发生的错误。这些宏有助于程序员诊断和处理运行时错误。 errno 变量 extern int errno;err…...

基于springboot+vue的房屋租赁管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…...

Sora----打破虚实之间的最后一根枷锁----这扇门的背后是人类文明的晟阳还是最后的余晖

目录 一.Sora出道即巅峰 二.为何说Sora是该领域的巨头 三.Sora无敌的背后究竟有怎样先进的处理技术 1.Spacetime Latent Patches 潜变量时空碎片&#xff0c;建构视觉语言系统 2.扩散模型与Diffusion Transformer&#xff0c;组合成强大的信息提取器 3.DiT应用于潜变量时…...

C语言之static关键字详解

C语言之static关键字详解_c语言static-CSDN博客 1.变量 2.局部变量和全局变量 3.变量的作用域 4.变量的生命周期 二、static关键字的作用 三、static关键字修饰局部变量 四、static关键字修饰全局变量 五、static关键字修饰函数...

Redis高性能原理

redis大家都知道拥有很高的性能&#xff0c;每秒可以支持上万个请求&#xff0c;这里探讨下它高性能的原理。单线程架构和io多路复用技术。 一&#xff0c;单线程架构 单线程架构指的是命令执行核心线程是单线程的&#xff0c;数据持久化、同步、异步删除是其他线程在跑的。re…...

MSS与cwnd的关系,rwnd又是什么?

慢启动算法是指数递增的 这种指数增长的方式是慢启动算法的一个核心特点&#xff0c;它确保了TCP连接在开始传输数据时能够快速地探测网络的带宽容量&#xff0c;而又不至于过于激进导致网络拥塞。具体来说&#xff1a; 初始阶段&#xff1a;当TCP连接刚建立时&#xff0c;拥…...

中国建设网官方网站/企业qq

启动 选择或者下载FFmpeg...

ps怎么做网站首页和超链接/软文推广广告公司

解决Eclipse删除Tomcat8后无法新增问题参考文章&#xff1a; &#xff08;1&#xff09;解决Eclipse删除Tomcat8后无法新增问题 &#xff08;2&#xff09;https://www.cnblogs.com/chiying/p/5642657.html 备忘一下。...

软件开发外包app/seo关键字优化教程

$(#subtabs a).each(function (i, ele) { var href $(ele).attr("href"); if (location.href.indexOf(href) > -1) { $(".tab").removeClass("now-tab"); $(ele).parent().addClass(now-tab); } });...

网站建设工程结算方式/百度seo排名帝搜软件

1只要在其安装目录下新建一个文件名为ws2_32.dll的文件&#xff0c;这样系统就会以文件出错误而禁止运行(可以新建一个内容为空的文本文件&#xff0c;然后改名为ws2_32.dll)2直接有效的方法&#xff0c;禁止电脑安装添加软件。游戏都安装不了。不用说玩了一运行gpeditmsc打开组…...

网络营销的网站建设/怎么策划一个营销方案

原标题&#xff1a;小程序日活超4亿&#xff0c;近10万商家开通直播&#xff0c;私域红利已来 &#xff01;9 月 9 日晚间消息&#xff0c;在 2020 腾讯全球数字生态大会微信专场上&#xff0c;微信团队透露&#xff0c;截止 2020 年8 月&#xff0c;小程序日活超过 4 亿&#…...

岳阳seo快速排名/西安网站seo公司

1、安装Chromeyum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm2、安装Seleniumpip3 install selenium3、下载ChromeDriver (注意&#xff1a;chromedriver 的大版本&#xff0c;要与Chrome 的大版本一致)wget http://npm.taobao.org/…...