校园网有网络共享*,大致就是检测你一个局域网发送的数据包mac地址
发布网友
发布时间:2022-04-30 02:40
我来回答
共1个回答
热心网友
时间:2023-10-08 20:13
不用没一层都含有的
原理是这样:
首先你想要发一个包,你肯定知道目的IP,就是你想发的主机的IP(上网浏览网页,一般就是dns域名解析和各种链接获得目的IP)
接着查看是否在同一个网段,如果是,那么查找该主机的Mac地址封装(没有就ARP请求,此时一般会丢前一两个包),直接发过去,其中携带自己的源Mac和目的Mac
如果不是同一网段,那么查看自己的默认网关的Mac(这是当你是主机的情况,如果不是主机是路由器,那么直接查找路由下一跳地址和出接口),如果没有,发ARP请求,获得网关的Mac,于是发包向网关,所以目的IP是对端主机,但是目的Mac却是网关的。
事实上,有了IP就知道是要发给谁了,无需Mac的,报文的目的Mac都是下一跳的Mac地址,不是目的主机的Mac地址,下一跳收到了以自己Mac为目的的报文时才会上送到三层,也就是IP层,查找路由表转发到目的IP或直接发往默认网关(没有路由表的主机都是发默认网关的)
这是简单的例子,你说的不属于这种情况。如果你们局域网是使用了路由器的话,那应当用的是一种NAT(地址转换)的技术,在局域网内使用私网地址,在*所有的主机使用同一个公网IP地址,使用不同的应用层端口来区分不同的用户是常用的方法,当然还有其他许多的方法,如携带option82地理位置信息等等,这样其实节省了公网的地址,但是同时造成无法溯源等诸多问题。
基本就是这样,希望对你有帮助!