追踪网络攻击 简单方法查找黑客老巢(2)
包头数据分析
表1是一个原始数据包的IP包头数据。表中的第一行是最有用的数字。第一行的最后8位代表源地址。本例中的地址是0xd2、0x1d、0x84、0x96,对应的IP地址是210.45.132.150。通过分析原始数据包的包头数据,可以获得较为可靠的网络攻击者的IP地址,因为这些数据不会被删除或修改。但是,这种方法也不是完美无缺的,如果攻击者对其数据包进行加密,对收集到的数据包的分析就没有什么用处了。
表1 一个IP包头数据
0x0000 45c0 c823 0000 d306 6002 2c06 d21d 8496
0x0010 22ab b365 c234 0000 0000 4066 dd1d 8818
0x0020 7034 ecf8 0000 5b88 7708 b901 4a88 de34
0x0030 9812 a5c6 0011 8386 9618 0000 a123 6907
0x0040 55c5 0023 3401 0000 5505 b1c5 0000 0000
0x0050 0000 0000 0000 0000 0000
捕获数据包
在一个交换网络环境下捕获数据包比较困难,这主要是因为集线器和交换机在数据交换中本质的不同。集线器采用的是广播式传输,它不支持连接,而是把包发送到除源端口外的所有端口,与集线器相连的所有机器都可以捕获到通过它的数据包。而交换机支持端到端的连接,当一个数据包到达时交换机为它建立一个暂时的连接,数据包通过这个连接传到目的端口。所以,在交换环境下抓包不是一件容易的事。为了获得交换环境下的数据包,可以用下面方法解决:
(1)把交换机的一个“spanning port”(生成端口)配置成象一个集线器一样,通过这个端口的数据包不再与目的主机建立连接,而是广播式地发送给与此端口相连的所有机器。设置一个包捕获主机,便可以捕获到通过“spaning port”的数据包。但是,在同一时刻,交换机只能由一个端口被设置成“spanning port”,因此,不能同时捕获多台主机的数据包。
(2)在交换机之间,或路由器和交换机之间安装一个集线器。通过集线器的数据包便可以被捕获主机捕获。
在用捕获数据包获取攻击者的源地址的方法中,有两个问题需要注意:一是保证包捕获主机由足够的存储空间,因为如果在捕获数据包时网络吞吐量很大的话,硬盘很快会被填满;二是在分析数据包时,可编制一段小程序自动分析,手工分析这么多的数据是不可能的。
★ 搜索引擎----也许会有外的惊喜
利用搜索引擎获得网络攻击者的源地址,从理论上讲没有什么根据,但是它往往会收到意想不到的效果,给追踪工作带来意外惊喜。黑客们在Internet上往往有他们自己的虚拟社区,他们在那儿讨论网络攻击技术方法,同时炫耀自己的战果。因此,在那里经常会暴露他们攻击源的信息甚至他们的身份。
利用搜索引擎追踪网络攻击者的IP地址就是使用一些好的搜索引擎(如搜狐的搜索引擎)搜索网页,搜索关键词是攻击主机所在域名、IP地址或主机名,看是否有贴子是关于对上述关键词所代表的机器进行攻击的。虽然网络攻击者一般在发贴子时会使用伪造的源地址,但也有很多人在这时比较麻痹而使用了真实的源地址。因此,往往可以用这种方法意外地发现网络攻击者的踪迹。
由于不能保证网络中贴子源地址的真实性,所以,不加分析的使用可能会牵连到无辜的用户。然而,当与其方法结合起来使用时,使用搜索引擎还是非常有用的。