1、 之前一直搞不清arp攻击/欺骗的具体运作,主要是在arp缓存机制上。书上说任何主机接收到arp广播时应该
将广播包里面的源ip和源mac地址缓存到自己的缓存表里(因为他认为可能以后用得着),但我实验发现
windows下是不会这样做的。而如果是这样做的话,arp欺骗就可以冒充网关ip(改ip与网关相同)且用自己的
mac,这样会使得同网段所有主机上网时断时续,但这很容易从ip冲突中发现。因为windows没有这样做,
所以arp网关欺骗和arp普通主机欺骗一次只能针对单台主机欺骗或者多次向多台电脑发送arp欺骗包。
2、arp欺骗的根本原因是arp协议没有规定只有发送了arp请求的主机才可以接受arp应答,也没有规定只有收
到了arp请求才可以发送arp应答。
3、主机收到目的地址是自己的arp广播后,会缓存广播包里面的源ip和源mac地址然后发送arp应答。收到arp
应答的主机也是先缓存单播包里面的源ip和源mac地址。
4、主机在开机或者更改ip地址时会广播发送免费arp包(即源/目的ip都是自己),用来检测网络上是否有同ip的
主机,如果更改ip或换了网卡 也可让网络上的其他主机更新与其对应的arp缓存。
5、纠正之前犯的一个严重错误,之前一直认为发送arp包时需要进行按目的ip查找路由表。更正:链路层只
按mac地址寻址。基于二层交换机 工作在链路层的原理(即按mac寻址),所以二层交换机可以接不同
的网络(之前只是习惯性的认为二层交换机只接同网段),arp广播包会在所有端口发出,arp响应也只根据
交换机的mac-端口表转发数据包。交换机上不同网段虽然arp协议可以正常,但他们却是无法ip通讯的,
因为不同网段通讯涉及到ip路由。运用交换机接不同的网段,我们就可以在电脑上配置多个网段的ip
(在高级属性里设置),然后添加到不同网段的静态路由而不是添加到不同网段的网关(因为多网关这会引
起主机默认网关的混乱)。这样电脑就可以同时访问多个不同的网段。