从图 2 可知,我们将 4 台机器分成了两部分,其中两台(这里是 A 和 B)首先通过一个二层交换机到分路器,然后再连接到中心交换机,同时将安装科来的笔记本接到分路器上进行数据捕获。
我们再来分析刚才所举的例子,即 A发起 arp 攻击,但却将攻击数据包的源 MAC 和源 IP 均改为机器 D 的。在部署分路器后,我们在科来网络分析系统中,只捕获并分析 A和B两台机器发出的数据包,这时,我们将抓到源 MAC 和源 IP 都是 D 的数据。抓到这些数据后,我们即可确定,真正的罪魁祸首在 A和 B两台机器之间,然后再单独对 A和 B进行单向抓包,即可确定最终的元凶。相对应的,如果我们在这种情况下抓到的数据包全是正常的(源 IP 和源 MAC 都是 A或 B),则表示罪魁祸首不是 A和 B,那么需要使用相同的方法对 C 和D 进行检测分析。
同样,当攻击者将 IP 和 MAC 都改为不存在的假地址时,我们也可采用上述方法找到真凶。此方法不仅适用于上述例子中几台机器的小型网络,在大规模的网络中一样可行,排查的故障也不仅仅是例子所说的 arp 攻击,而是伪造 IP和 MAC 的任意攻击行为。
现将此方法的步骤归纳如下:
1. 将所有客户端分为两部分,一部分接入位置保持不变,另一部份接入分路器;
2. 将安装科来的笔记本接入到分路器中,仅捕获发出的数据包;
3. 如果捕获到的数据包中,出现源 MAC 或 IP 不是这部分的正确 IP或 MAC 的数据,则表示这部分机器中存在伪造地址攻击;如果捕获到的数据包没有出现这种数据,则表示攻击者在另一部分机器中;
4. 将认定有问题的那部分机器再细分成两部份,使用和上面相同的方法进行捕获分析,进而将攻击者定位在更小的范围内;
5. 采用上述的方法逐渐缩小范围,直至最终找出攻击者(具体的步骤数与网络相关)。