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

news2024/12/27 2:16:01

晚上好,我是老杨。

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年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

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

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

相关文章

【Pytorch深度学习开发实践学习】B站刘二大人课程笔记整理lecture06 Logistic回归

【Pytorch深度学习开发实践学习】B站刘二大人课程笔记整理lecture06 Logistic回归 课程网址 Pytorch深度学习实践 部分课件内容: import torchx_data torch.tensor([[1.0],[2.0],[3.0]]) y_data torch.tensor([[0.0],[0.0],[1.0]])class LogisticRegressionModel(…

小程序--vscode配置

要在vscode里开发微信小程序,需要安装以下两个插件: 安装后,即可使用vscode开发微信小程序。 注:若要实现鼠标悬浮提示,则需新建jsconfig.json文件,并进行配置,即可实现。 jsconfig.json内容如…

【算法与数据结构】1971、LeetCode寻找图中是否存在路径

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题应用并查集的理论直接就可以解决:【算法与数据结构】回溯算法、贪心算法、动态规划、图…

HTML5技术实现的小钢琴

HTML5技术实现的小钢琴 用HTML5实现的小钢琴&#xff0c;按下钢琴键上的相应字母用或用鼠标点击钢琴键发声&#xff0c;源码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"v…

[SSD 测试 1.4] 硬件测试之主控测试 (CP | FT) | 主控是如何保证品质的?

专栏 《深入理解SSD》 <<<< 返回总目录 <<<< 主控制器方面&#xff0c;消费级市场的主要厂商包括三星、英特尔、西部数据、海力士和东芝&#xff0c;他们的产品涵盖了SATA和Nvme Pcie3.0/4.0接口。而在企业级市场&#xff0c;国内厂商华为海思H181x系…

VBA_MF系列技术资料1-385

MF系列VBA技术资料1-385 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-0…

深陷债务风波,折价变卖股权,皓宸医疗能否自救于水火?

近日&#xff0c;皓宸医疗科技股份有限公司&#xff08;下称“皓宸医疗”&#xff09;发布公告称&#xff0c;上海金融法院于1月24日至27日对其持有的抚顺银行股份有限公司出资额为2.27亿元的非上市股份有限公司股权进行了第一次公开拍卖&#xff0c;拍卖结果为流拍。 皓宸医疗…

Jenkins2.426邮件通知配置

之前安装的jenkins出现问题了&#xff0c;重新装了jenkins&#xff0c;需要重新配置&#xff1a;Maven&#xff0c;JDK&#xff0c;Allure报告&#xff0c;邮件通知&#xff0c;Extended E-mail Notification等 配置Maven&#xff0c;JDK参考&#xff1a;CICD集合(四):Jenkins…

vue实现拖拽(vuedraggable)

实现效果: 左侧往右侧拖动&#xff0c;右侧列表可以进行拖拽排序。 安装引用&#xff1a; npm install vuedraggable import draggable from vuedraggable 使用&#xff1a; data数据&#xff1a; componentList: [{groupName: 考试题型,children: [{componentType: danxua…

JVM内存随着服务器内存的升高而升高问题排查

一、故障描述 公司测试环境和线上环境&#xff0c;都会有&#xff1a;JVM内存随着服务器内存的升高而升高 这种问题 二、排查 1、linux服务器上使用htop查看java项目内存占比&#xff0c;给最大最小推内存300m&#xff0c;但是实际上超出一倍 2、排查方案 a、通过后面的学习…

Emlog博客网站快速搭建并结合内网穿透实现远程访问本地站点

文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总结 前言 博客作为使…

人工智能 — 图像滤波器

目录 一、图像噪声1、高斯噪声2、椒盐噪声3、泊松噪声4、乘性噪声5、瑞利噪声6、伽马噪声 二、图像滤波三、各种滤波器1、均值滤波2、中值滤波3、最大最小值滤波4、引导滤波 四、图像增强1、点处理1、线性变换2、分段线性变换3、对数变换4、幂律变换/伽马变换 2、领域处理3、图…

浏览器自动填充

input同时有多个 当input框的类型为typepassword&#xff0c;其上一个框为typetext&#xff0c;浏览器会自动填充保存过的账户密码、解决自动填充有以下几种处理方法&#xff1a; 1、在浏览器端设置 2、给出一组假页面存储&#xff0c;必须在同一个Form表单中&#xff0c;让填充…

解决SpringAMQP工作队列模型程序报错:WARN 48068:Failed to declare queue: simple.queue

这里写目录标题 1.运行环境2.报错信息3.解决方案4.查看解决之后的效果 1.运行环境 使用docker运行了RabbitMQ的服务器&#xff1a; 在idea中导入springAMQP的jar包&#xff0c;分别编写了子模块生产者publisher&#xff0c;消费者consumer&#xff1a; 1.在publisher中运行测试…

[AI]部署安装有道QanyThing

前提条件&#xff1a; 1、win10系统更新到最新的版本&#xff0c;系统版本最好为专业版本 winver 查看系统版本&#xff0c;内部版本要大于19045 2、CPU开启虚拟化 3、开启虚拟化功能&#xff0c;1、2、3每步完成后均需要重启电脑&#xff1b; 注&#xff1a;windows 虚拟…

农业四情在线监测站的应用

TH-Q3农业四情在线监测站可广泛应用于农田管理、作物种植、病虫害防治、气象灾害预警等领域。通过实时监测和数据分析&#xff0c;该系统可以帮助农民实现精准施肥、科学灌溉、合理调控作物生长等目标&#xff0c;提高农业生产效率和质量。同时&#xff0c;该系统还可以为政府决…

Pytorch学习(杂知识)

Mini-batch Mii-batch是一种在机器学习中常用的训练算法。它是将大的数据集分成一些小的数据集&#xff0c;每次只用一个小的数据集来训练模型。通常情况下&#xff0c;训练数据集中的数据越多&#xff0c;训练出的模型越准确&#xff0c;但是如果数据集太大&#xff0c;就会导…

【OpenFeign常用配置】

OpenFeign常用配置 快速入门&#xff1a;1、引入依赖2、启用OpenFeign 实践1、引入依赖2、开启连接池功能3、模块划分4、日志5、重试 快速入门&#xff1a; OpenFeign是一个声明式的http客户端&#xff0c;是spring cloud在eureka公司开源的feign基础上改造而来。其作用及时基于…

红日靶场3

靶场链接&#xff1a;漏洞详情 在虚拟机的网络编辑器中添加两个仅主机网卡 信息搜集 端口扫描 外网机处于网端192.168.1.0/24中&#xff0c;扫描外网IP端口&#xff0c;开放了80 22 3306端口 80端口http服务&#xff0c;可以尝试登录网页 3306端口mysql服务&#xff0c;可…

Megalinter 初体验

简介 MegaLinter 是一个多语言、多工具的集成代码检查工具&#xff0c;它能够通过一个统一的工作流来运行多个静态代码分析工具&#xff0c;从而提供全面的代码质量检查。 官网&#xff1a;https://megalinter.io/latest/ MegaLinter 的特点&#xff1a; 多语言支持&#x…