位于同一子网下的ip在子网掩码配置错误的情况下如何进行通信(wireshrak抓包分析)

前言

最近看书发现个问题,正好想学习下wireshark的使用,于是抓包做了下实验。
问题是这样的,假设有服务器A和服务器B,正确配置下两者处于同一子网;此时B的网络配置正确,而A在配置子网掩码时出了错,导致在A中计算B的网段时发现二者不处于同一子网;而它们之间存在网关,恰巧与AB都处于同一网段,此时A想要ping通B,可以成功吗?

文字描述的不是很清楚,直接上例子。

A的ip为16(完整ip为192.168.1.16,16是省略写法,下文亦同),B的ip为103,网关ip为1,A的子网掩码被配置为224(255.255.255.224),B为0(255.255.255.0)。

由下图与运算可得A的子网为0000 0000,B的子网也为0000 0000,但在A的视角看来,当他想要ping通B时,使用自己的子网掩码224算出B的网段为0110 0000,明显二者不位于同一网段,A无法直接通过ARP解析到B的mac地址。

在这里插入图片描述

那它们通信的过程具体是怎么样的呢?让我们接着往下看

上述数据是由我的实验中抽出来的,我将电脑wlan网卡的配置修改了一下,相当于服务器A,我的手机为服务器B,它们连接同一个路由器,则路由器相当于网关。
出于隐私考虑,我把mac地址打码了,留最后两位作为区分

服务器A :IP 192.168.1.16    mac:ef 子网掩码:255.255.255.224 (ping之前A的arp缓存中已有网关mac地址)服务器B: IP 192.168.1.103   mac:8e 子网掩码:255.255.255.0网关:IP 192.168.1.1    mac:ce

实验过程

实验开始前,使用arp -a命令查询arp缓存,发现此时A中已有网关的mac地址
在这里插入图片描述
接下了开始ping,同时使用wireshrak抓取wlan网卡的网络包
在这里插入图片描述
ping请求完成后,arp缓存中增加了B的mac地址
在这里插入图片描述

网络包分析

接下了到分析网络包的时间了
因为第一次ping请求最有价值,于是我只把一开始的数据包截取出来,让我们仔细分析一下。
在这里插入图片描述
插入一段名词解释
Redirect for host

ICMP 重定向(ICMP Redirect)就是路由器收到数据包的接口正是去往目的地的出口时,则会向源发送 ICMP重定向(ICMPRedirect),通告对方直接将数据包发向自己的下一跳即可,不要再发给自己。

91号
在这里插入图片描述
服务器A(Inter)向服务器B发送ping请求,但目的地是网关mac地址(我的路由器是tplink,上面也看得出来==),因为在它看来B和自己不在同一个子网内,无法直接通过ARP广播查询B的mac地址,于是它请求网关转发它对B的ping请求,因此dst为网关(这是基于A本来就知道B的mac地址,否则应该还需要通过ARP广播(broadcast)查询网关的mac地址后才能进行发送,这一步我没有验证)

92号
在这里插入图片描述
网关向服务器A发送icmp重定向,这时它可能将包转发给了服务器B,但无从得知

94号
在这里插入图片描述
服务器A收到了来自服务器B的广播,此时B在广播查询服务器A的mac地址
因为在B的视角看来,A和它同处于同一网段,因此它直接使用ARP广播来查找A
95号
在这里插入图片描述
服务器A(ef)向服务器B(8e)响应自己的mac地址,证明A在响应arp请求时不会考虑子网是否相同
此时B中已经得知A的mac地址,可以直接响应

在这里插入图片描述
服务器B响应服务器A的ping请求,通信完成

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

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

相关文章

探索数字时代的核心:服务器如何塑造未来并助你成就大业

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

E138: Can‘t write viminfo file

E138: Can’t write viminfo file /home/xxx/.viminfo! 原因 进入/home/xxx/目录下,用ls -a你会发现有很多.viminfa.tmp - .viminfz.tmp 这种的临时文件,这是因为使用vim编辑器时,如果编辑器没有正常退出就会生成一个暂存文件,…

家用洗地机哪个牌子最好用?质量最好的洗地机推荐

提到家务清洁,相信应该是很多宝妈头疼的事儿,不仅工作量打,耗时又耗力,拥有一款完美的清洁工具,那讲大大的提升幸福指数,而洗地机便是当下的智能清洁神器之一。那么家用洗地机哪个牌子最好用,质…

1592 - Database (UVA)

题目链接如下: Online Judge 这道题刘汝佳的解法复杂度要低很多。注意到m远小于n,他的解法是遍历不同的列组合c1, c2, 然后再遍历行,如果对应元素相同,输出。 我的解法复杂度高很多,但这道题的时间限制有9秒&#x…

一行代码禁止用户调试前端代码

有时候不希望用户去调试或复制前端代码,那该如何禁止用户调试前端代码呢?今天就来分享一个开源的前端工具:Disable Devtool,一行代码禁用 Web 开发者工具! 功能简介 disable-devtool 可以禁用一切可以进入开发者工具…

网络安全—小白自学笔记

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

Pytorch:cat、stack、squeeze、unsqueeze的用法

Pytorch:cat、stack、squeeze、unsqueeze的用法 torch.cat 在指定原有维度上链接传入的张量,所有传入的张量都必须是相同形状 torch.cat(tensors, dim0, *, outNone) → Tensor tensor:相同形状的tensor dim:链接张量的维度,不能超过传入张…

使用Golang实现HTTP代理突破IP访问限制

引言 在当今互联网时代,网站和服务商为了维护安全性和保护用户隐私,常常会对特定的IP地址进行封锁或限制。但是,有时候我们可能需要访问这些被限制的网站或服务。为了突破这种限制,我们可以使用HTTP代理来隐藏真实的客户端IP地址…

警惕!又2本Hindawi期刊被剔除,Scopus期刊目录更新!(附下载)

【SciencePub学术】 01Scopus目录更新概况 此次Scopus期刊目录更新后,有5本期刊不再被收录(Discontinued titles September 2023),同上次更新时相比,此次又新增93本期刊(Accepted titles)进入Scopus数据库。目前Scop…

CSS Vue/RN 背景使用opacity,文字在背景上显示

Vue <div class"training_project_tip"> <div class"tip">展示的文字</div> </div> .training_project_tip { font-size: 12px; font-weight: 400; text-align: left; color: #ffffff; margin-top: 8px; position: relative; dis…

苏轼在密州的四首千古名作

苏轼&#xff0c;一个从诗歌王国掉落人间的落魄贵族&#xff0c;整个政治生涯几乎都以流浪为主&#xff0c;在古诗词世界或许只有李白与之最是相似&#xff0c;不过李白的流浪属于荡歌山水、云游四方&#xff0c;而苏轼的流浪则带有被动的成分&#xff1a;一纸贬黜公文就是苏轼…

flask基础开发知识学习

之前做了一些LLM的demo&#xff0c;接口用flask写的&#xff0c;但是涉及到后端的一些业务就感觉逻辑写的很乱&#xff0c;代码变成屎山&#xff0c;于是借助官方文档和GPT迅速补了一些知识&#xff0c;总结一下一个很小的模板 于是决定边学边重构之前的代码… 文章目录 代码结…

Java SimpleDateFormat linux时间字符串转时间轴的坑

Mon Oct 16 09:51:28 2023 这是linux 的 date命令得到的时间&#xff0c;要转换称时间戳。 EEE MMM dd HH:mm:ss yyyy 这样的格式&#xff0c;看起来就是正确的&#xff0c;可是就是报错 Unparseable date: "Mon Oct 16 09:51:28 2023" 下面是正确的代码 String[…

2024年孝感市建筑类中级职称申报资料私企VS国企

2024年孝感市建筑类中级职称申报资料私企VS国企 民营企业中级职称申报跟事业单位或者是国企申报中级职称流程不一样么&#xff1f;实际上流程基本都是相同的&#xff0c;就是提交纸质版资料有点不一样。 孝感市建筑类中级职称申报基本流程 1.参加建筑类中级职称水平能力测试。 …

Javascript中字符串取数字

let str 32.12s; let intPart Math.floor(parseFloat(str)); // 输出32 let intPart Math.floor(Number(str)); // 输出NaNMath.floor函数会向下取整&#xff0c;将浮点数舍去小数部分。如果需要四舍五入的结果&#xff0c;可以使用Math.round函数 parseFloat函数从字…

本地配置免费的https咋做?

大家好这里是tony4geek。 今天和公司的小伙伴对接项目&#xff0c;因为涉及到https的权限调用。所以在服务器本地localhost 要配置https用来测试 。现在把过程中遇到的问题记录下来。 • 因为是测试用所以生成https的证书用免费的就可以了。 openssl req -x509 -nodes -days …

Spring(18) @Order注解介绍、使用、底层原理

目录 一、简介二、List 注入使用示例2.1 测试接口类2.2 测试接口实现类12.3 测试接口实现类22.4 启动类&#xff08;测试&#xff09;2.5 测试结果场景一&#xff1a;场景二&#xff1a; 三、CommandLineRunner 使用示例3.1 接口实现类13.2 接口实现类23.3 测试结果场景一&…

排序算法可视化

前言 这两天在B站上刷到一个视频&#xff0c;用python把各种排序动画可视化显示了出来觉得还蛮好玩的&#xff0c;当即就决定用Flutter写一个玩玩&#xff0c;顺便复习一下排序算法&#xff0c;话不多说&#xff0c;进入正文~ 效果图&#xff1a; 该效果图为鸡尾酒排序(双向冒…

Python 实现http server接收mutipart/form-data文件 方法2

Python 实现http server接收mutipart/form-data文件 方法2 1 Server端代码2 测试 1 Server端代码 以下代码亲测有效&#xff0c;仅适应于接收客户端上传的图片&#xff0c;其他文件未曾测试&#xff0c;作者主要应用于平时的自测工具。 说明1&#xff1a; 如有特殊需求&#x…

OpenRemote: Java 开源 IoT 物联网开发平台,匹配智慧城市、智能家居、能源管理

OpenRemote 是一个直观、用户友好的基于Java语言的开源 IoT 物联网设备管理平台&#xff0c;它包括从连接设备到构建应用程序和特定领域的智能应用程序的所有功能和特性。通过OpenRemote物联网平台&#xff0c;用户可以收集和处理来自不同设备的传感器数据&#xff0c;适用于智…