同一个局域网中不能存在两个相同的IP地址,否则冲突。
因此不能直接用其他用户的IP地址伪造ARP响应,除非那个用户主机没开或宕掉(这就可以构成简单的ARP欺骗)。
在进行网络数据传送时,在数据发送方要经过以下几个步骤:应用程序-->socket-->传输层模块-->IP模块-->NIC(网卡)驱动程序-->硬件中断。
IP 模块在本机的路由表上查询出口IP,如果是本局域网的IP就直接交付,然后查找ARP缓存表把帧发送到目的主机。如果目的IP不在本局域网,路由表会提示将数据发到网关上。因此主机的网卡将目的MAC填上网卡的MAC地址,发到网关后。网关再根据目的IP地址转发此数据包。
为什么要经过ARP请求和响应,而不直接广播数据帧?因为数据帧可能比较大,局域网上的每个主机都要解析它,提取出IP地址看与自它是否与自己的一样,这样太浪费时间和带宽了。
ARP在哪一层?数据链路层。它没有用到IP协议,只是把IP地址封装到帧内。
如果在共享式局域网中,一台主机可以监测到其他主机的通信数据。而如果是在交换式局域网中,则不可以。因为冲突域已经被交换机给隔开了。
什么是网关?网关(Gateway)就是一个网络连接到另一个网络的“关口”。在Internet网中,网关是一种连接内部网与Internet上其它网的中间设备,也称“路由器”。网关实质上是一个网络通向其他网络的IP地址。