通信人家园

 找回密码
 注册

只需一步,快速开始

搜索

军衔等级:

  上等兵

注册时间:
2020-7-26
发表于 2020-10-6 22:57:33 来自手机 |显示全部楼层
网上说,数据包访问是ip地址和mac共同完成的,数据包只认mac才能访问目的地设备。ip和mac是对应关系,如果网络上有ip和mac对应的记录,那么这个ip就会直接访问mac所在的设备。如果网络上没有ip和mac对应的记录,ip就会根据某种协议直接对应当下这个mac对应的设备进行数据包访问,是这样的吗?这是对的吗?

如果是这样的话我想问,假设我的A主机ip是1.1.1.1对应的mac地址是abcd,这时有台经常访问过我的A主机的设备想要再次访问我的A主机,然后他很熟练输入我A主机的ip1.1.1.1,而此时我的A主机ip和另外一台B主机以极快的速度完成了ip对换,于是我的A主机ip地址变成了2.2.2.2,B主机的ip变成了1.1.1.1,这时按照上面网友的说法,原本访问我A主机的设备输入ip1.1.1.1不就直接访问到B主机去了吗?就访问不到我的A主机了吗?

因为他说ip和mac没有对应记录,就根据某协议直接对应当下mac进行访问。而我的A主机mac地址始终没变,而开头那位网友说数据包访问不是只认的是mac吗?那台经常访问我A主机的设备他知道我A主机的mac没变啊,他怎么还是去访问B主机去了??哪个是对的?

军衔等级:

  下士

注册时间:
2018-8-7
发表于 2020-10-7 10:29:57 来自手机 |显示全部楼层
变更ip后arp路由表要生效
ip是寻址 mac是确认身份

点评

巨魔装载机  具体过程怎样的?我上面举的例子,哪里有问题,帮我纠正一下。网上那些专业的东西看得也是似懂非懂。  详情 回复 发表于 2020-10-7 21:09

军衔等级:

  中士

注册时间:
2019-7-30
发表于 2020-10-7 11:31:11 |显示全部楼层
LZ就不要在这里试图了解伪造信息攻击的技术了,入侵主机现在是违法行为,这个世界上的每个MAC在做什么都有记录,只看危害有多大,抓还是不抓,是国家需要考虑的事情

军衔等级:

  少校

注册时间:
2019-5-27
发表于 2020-10-7 14:35:04 来自手机 |显示全部楼层
楼主可以去买本讲计算机网络的书,系统地学习一下

点评

CC19910128  现在能系统的看完一本书的人少之又少。  详情 回复 发表于 2020-10-9 10:44

军衔等级:

  少校

注册时间:
2019-5-27
发表于 2020-10-7 16:08:31 来自手机 |显示全部楼层
3楼是不是有病,人家来请教个问题就这样无端恶意揣测?

点评

深圳普通用户  No,楼主之前还问过问题,都不是一般人问的问题。3楼说的是对的。  详情 回复 发表于 2020-10-7 16:19

军衔等级:

  少将

注册时间:
2016-2-25
发表于 2020-10-7 16:19:13 来自手机 |显示全部楼层
联通5年老用户 发表于 2020-10-7 16:08
3楼是不是有病,人家来请教个问题就这样无端恶意揣测?

No,楼主之前还问过问题,都不是一般人问的问题。3楼说的是对的。

点评

巨魔装载机  真的!!无言以对。何不食肉糜!你们每天都把别人无意说的一句话当做阅读理解来做,累不累啊??  详情 回复 发表于 2020-10-7 21:07
联通5年老用户  他问了啥,我好像没看到  详情 回复 发表于 2020-10-7 16:22

军衔等级:

  少校

注册时间:
2019-5-27
发表于 2020-10-7 16:22:02 来自手机 |显示全部楼层
深圳普通用户 发表于 2020-10-7 16:19
No,楼主之前还问过问题,都不是一般人问的问题。3楼说的是对的。

他问了啥,我好像没看到

军衔等级:

  上等兵

注册时间:
2020-7-26
发表于 2020-10-7 21:07:26 来自手机 |显示全部楼层
深圳普通用户 发表于 2020-10-7 16:19
No,楼主之前还问过问题,都不是一般人问的问题。3楼说的是对的。

真的!!无言以对。何不食肉糜!你们每天都把别人无意说的一句话当做阅读理解来做,累不累啊??

军衔等级:

  上等兵

注册时间:
2020-7-26
发表于 2020-10-7 21:09:16 来自手机 |显示全部楼层
丶Ives 发表于 2020-10-7 10:29
变更ip后arp路由表要生效
ip是寻址 mac是确认身份

具体过程怎样的?我上面举的例子,哪里有问题,帮我纠正一下。网上那些专业的东西看得也是似懂非懂。

军衔等级:

  上士

注册时间:
2018-3-31
发表于 2020-10-8 00:55:57 |显示全部楼层
这位兄弟,我又来了。
我想说你问的都是基础中的基础,我当初上学的时候,也就十来节课就学完了。现在网上的学习视频要多少有多少,何苦在这盲人摸象式地问人呢?

军衔等级:

  上士

注册时间:
2018-3-31
发表于 2020-10-8 01:10:37 |显示全部楼层
我大概给你讲一下把,有助于你理解。

互联网类似于邮政系统,他们完成的工作也是一样的,那就是通信。
ip地址相当于收信地址+收件人,mac地址相当于人的外貌。arp表相当于照片-名字表。

公网ip相当于X省X县X街道X小区,内网ip相当于X号楼X单元X户。
NAT设备相当于门卫或传达室大爷。

还有什么路由器交换机之类的都可以用邮政系统类比。

点评

巨魔装载机  您那么博学多才,能不能看下我的问题再说。我能不知道什么小区什么街道?或者我看到我的帖子就直接忽略吧!  详情 回复 发表于 2020-10-8 11:12

军衔等级:

  上等兵

注册时间:
2020-7-26
发表于 2020-10-8 11:12:11 来自手机 |显示全部楼层
1316695312 发表于 2020-10-8 01:10
我大概给你讲一下把,有助于你理解。

互联网类似于邮政系统,他们完成的工作也是一样的,那就是通信。

您那么博学多才,能不能看下我的问题再说。我能不知道什么小区什么街道?或者我看到我的帖子就直接忽略吧!

点评

1316695312  哈哈哈,别生气,我只是想说,在论坛问人效率太低,学习效果还不好,不如直接去看视频学习。 你的问题我也可以给你解答下,如你的问题所描述,两台主机快速对换IP确实会导致包错发,但是接受方也要看看包是不是给  详情 回复 发表于 2020-10-8 12:22

军衔等级:

  四级军士长

注册时间:
2014-10-12
发表于 2020-10-8 11:44:17 来自手机 |显示全部楼层
差不多。
真正实现的时候,以linux为例,无论如何都是首先找路由表的。
假如你是192.168.0.1/24,你要访问192.168.0.254,那么通常情况下你会匹配到一条类似这样的路由:
192.168.0.0/24 dev ens0
(用ip r能看到)
这个路由的意思就是说,去这个地址的话,直接从这个接口丢出去。这个接口是以太网,好的,arp伺候。

然后到了arp寻址的过程 首先系统的arp缓存里有没有。如果他(254)刚刚跟你通信过,你记得他的mac,那是可以直接用的。但是如果没有命中缓存,那么就要发arp广播查询,类似:
谁是192.168.0.254?告诉我192.168.0.1。这个报文被丢给二层广播(全是f的mac地址),然后被问到的人就看心情回答你了。如果他好好回答你你也收到了,就会被缓存一段时间以便后续使用。
用ip nei命令可以看到arp表。

再接下来你说的情况。原本254的mac是abcd,突然变成了aaaa。这时候在缓存过期之前,系统会一直把去那里的数据包丢给abcd,直到缓存过期或者被手动刷新(类似ip nei flush dev ens9)。这个包一定就丢了?不一定,如果abcd还能处理这个包,他理论上有能力把这个包转发到正确的接收者那里。
造成这种状况的原因有很多。不怀好意的arp攻击只是一种(而且不太一样,arp攻击类似整个大喇叭不停地到处大喊大叫我是254我是aaaa来找我这种),其他的可能有交换机替换,负载均衡主备切换等等。

顺便说,前面提到的先查路由表是可能存在更细的路由的。
比如,就可能有下面的:
192.168.0.254 via 192.168.0.3 dev ens0 proto bird
这种是小鸟给你报过来的路由,你也可以自己主动添加静态,等等。

点评

巨魔装载机  文中你说【原本254的mac是abcd,突然变成了aaaa。这时候在缓存过期之前,系统会一直把去那里的数据包丢给abcd,直到缓存过期或者被手动刷新(类似ip nei flush dev ens9)。这个包一定就丢了?不一定,如果abcd还能处  详情 回复 发表于 2020-10-8 19:40
联通5年老用户  说起来bird的配置文件是真的难写,不同版本语法还有差异,不如openbgpd好用。。。  详情 回复 发表于 2020-10-8 18:58

军衔等级:

  四级军士长

注册时间:
2014-10-12
发表于 2020-10-8 11:44:35 来自手机 |显示全部楼层
*** 好好写个东西都能审核

军衔等级:

  四级军士长

注册时间:
2014-10-12
发表于 2020-10-8 11:51:07 来自手机 |显示全部楼层
1316695312 发表于 2020-10-8 01:10
我大概给你讲一下把,有助于你理解。

互联网类似于邮政系统,他们完成的工作也是一样的,那就是通信。

嘛。。。其实只要这个包喂给我了并且我愿意吃就能吃下,arp只是最简单和常见的一种
完全可哟路由吸过来/指过来/网桥上抢下来直接的干活
至于nat,是这样的
我们这个小区的100户,由于某种原因(安全考量/地址不够等等)只能公用一个邮箱,总之我们都从这出去吧,每个会话传达室的大爷会给分一个临时的号牌,比如aaa信箱38号子信箱,然后就这么通信,如果有一段时间这个子信箱没有东西过来过去了,那大爷就把这个子信箱回收了,能给别人复用(涉及到五元组的比这个复杂,这个有点锥形),这是有状态的nat
其实要是你家信箱地址够多(ip够多)完全可以只转发不转换的,也就不需要什么状态了

军衔等级:

  上士

注册时间:
2018-3-31
发表于 2020-10-8 12:22:42 |显示全部楼层
巨魔装载机 发表于 2020-10-8 11:12
您那么博学多才,能不能看下我的问题再说。我能不知道什么小区什么街道?或者我看到我的帖子就直接忽略吧 ...

哈哈哈,别生气,我只是想说,在论坛问人效率太低,学习效果还不好,不如直接去看视频学习。

你的问题我也可以给你解答下,如你的问题所描述,两台主机快速对换IP确实会导致包错发,但是接受方也要看看包是不是给自己发的,发现目标IP不是自己,接受方就会把包丢掉。

发送方看接收方长时间没什么反应,自然会重新发arp广播重新确定mac地址。

点评

巨魔装载机  看到没,其他网友说的目标ip不是自己,mac正确就能接受数据包。你说目标ip不是自己,接收方就要把包丢掉。  详情 回复 发表于 2020-10-8 20:19
巨魔装载机  你说接收方要看数据包是不是发给自己的,发现目标ip不是自己,接收方就会把数据包丢掉。你告诉我接收方怎么确认数据包是不是给自己的?数据包以前经常访问A主机,现在A主机和B主机ip快速互换,数据包按照以前的记忆去  详情 回复 发表于 2020-10-8 15:18

军衔等级:

  上等兵

注册时间:
2020-7-26
发表于 2020-10-8 15:18:37 来自手机 |显示全部楼层
1316695312 发表于 2020-10-8 12:22
哈哈哈,别生气,我只是想说,在论坛问人效率太低,学习效果还不好,不如直接去看视频学习。

你的问题 ...

你说接收方要看数据包是不是发给自己的,发现目标ip不是自己,接收方就会把数据包丢掉。你告诉我接收方怎么确认数据包是不是给自己的?数据包以前经常访问A主机,现在A主机和B主机ip快速互换,数据包按照以前的记忆去访问A主机的ip和mac,可是发现ip现在对应的是B主机mac,所以这个时候B主机是接受不到数据包了对吗?那最后这个数据包谁都发不了啊?因为以前对应的ip和mac找不到了,还是说数据包觉得放弃以前的ip和A主机mac对应关系,现在重新把目标ip和B主机mac对应绑定,最后还是把数据包发给了B主机??

点评

1316695312  我有点看不明白你的意思? 你是说人故意改ip不让访问呗?那当然访问不了了,而且那是人的问题,不是计算机网络需要考虑的事情。  详情 回复 发表于 2020-10-8 19:29
1316695312  每个数据包都包含着目标ip地址,接收方收到包就看这个ip地址是不是自己。不是自己的就不要了。 可以下载个wireshark之类的抓包软件,亲自抓个包分析一下。  详情 回复 发表于 2020-10-8 19:23

军衔等级:

  四级军士长

注册时间:
2014-10-12
发表于 2020-10-8 15:57:52 来自手机 |显示全部楼层
巨魔装载机 发表于 2020-10-8 15:18
你说接收方要看数据包是不是发给自己的,发现目标ip不是自己,接收方就会把数据包丢掉。你告诉我接收方怎 ...

首先,网卡能收到包,因为mac正确
其次,(典型情况)主机发现自己没有配置数据包的目标ip地址,所以不会把数据包交给应用层(有一些很特别的例外,如某些情况下允许监听所有地址无需考虑本机是否已配置)
第三,(例如linux)检查是否开启了数据包转发(ip_forward),如果没有,丢掉
第四,如果允许转发,按自己的路由表转发本数据包出去
iptables等钩子会影响2-4,可能的,你说的这种情况可能丢一个icmp redirect回去提醒发送方更新arp表

点评

巨魔装载机  这段话的意思是数据包访问主机,首先看的是对方mac地址对与否,再看对应的ip对与否对吗?所以你才说即便ip变了,网卡能收到包,因为mac正确。可是我们访问一个主机,都是输入访问主机的域名也就是ip,难道不应该是在  详情 回复 发表于 2020-10-8 19:55

军衔等级:

  四级军士长

注册时间:
2014-10-12
发表于 2020-10-8 15:57:55 来自手机 |显示全部楼层
巨魔装载机 发表于 2020-10-8 15:18
你说接收方要看数据包是不是发给自己的,发现目标ip不是自己,接收方就会把数据包丢掉。你告诉我接收方怎 ...

首先,网卡能收到包,因为mac正确
其次,(典型情况)主机发现自己没有配置数据包的目标ip地址,所以不会把数据包交给应用层(有一些很特别的例外,如某些情况下允许监听所有地址无需考虑本机是否已配置)
第三,(例如linux)检查是否开启了数据包转发(ip_forward),如果没有,丢掉
第四,如果允许转发,按自己的路由表转发本数据包出去
iptables等钩子会影响2-4,可能的,你说的这种情况可能丢一个icmp redirect回去提醒发送方更新arp表

点评

巨魔装载机  百度百科说,目标ip和mac是对应的,如果这个时候其他主机偷了这个ip去,数据包按照ip到了这个主机,发现mac不对,这个主机也是得不到这个数据包的。而你说ip不对,mac正确时,网卡也能收到包。这两句话总结出来就是说  详情 回复 发表于 2020-10-8 20:15

军衔等级:

  四级军士长

注册时间:
2014-10-12
发表于 2020-10-8 15:58:39 来自手机 |显示全部楼层
@家园副管02  @家园副管06
我服了 我回了三个长帖子 全都审核

您需要登录后才可以回帖 登录 | 注册 |

Archiver|手机版|C114 ( 沪ICP备12002292号 )|联系我们 |网站地图  

GMT+8, 2020-10-26 21:22 , Processed in 0.062500 second(s), 17 queries , Gzip On.

Copyright © 1999-2020 C114 All Rights Reserved

Discuz Licensed

回顶部