ip欺骗

时间:2018-05-12   来源:经典美文   点击:

【www.gbppp.com--经典美文】

ip欺骗 第一篇_Loadrunner中的IP欺骗的设置以及误区

Loadrunner中的IP欺骗的设置以及误区

一. 什么是IP欺骗?

做什么事首先要问个为什么,如果知道为什么了,即使不知道如何做,简单,google it,答案总会找得到,google.cn不行,google.com总行,来自全球的搜索结果,总会有帮助。

IP spoof即IP 电子欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术。 IP是网络层的一个非面向连接的协议, IP数据包的主要内容由源IP地址,目地IP地址,所传数据构成,IP的任务就是根据每个数据报文的目的地址,路由完成报文从源地址到目的地址的传送。至于报文在传送过程中是否丢失或出现差错,IP不会考虑,那是TCP的事。对IP来讲,源设备与目的设备没有什么关系,它们是相互独立的。IP包只是根据数据报文中的目的地址发送,因此借助高层协议的应用程序来伪造IP地址是比较容易实现的。

二. 为什么要设置IP欺骗?

对于某些服务器,是根据IP来分配资源,当某个IP地址访问频繁或者访问量过大时,服务器会拒绝访问,或者让你输入验证码,当然也有可能是来避免搜索引擎robot的任意爬取。

网上还有些言论是说使用更多的IP来模拟较真实的用户使用环境,来测试负载均衡技术的处理能力,但是我始终想不明白这跟那个有什么关系,如果服务器可以接受同一IP大量访问,负载均衡不照样起作用,照样可以被测试到吗?(私人观点,意见可以保留)

三. 设置前的准备工作

1. 要有局域网的环境,因为只能设置局域网内的网段;

2. 本地的IP设置不能为“自动获取”,必须指定一个静态IP。

四. 如何设置

第一步:

运行Mercury LoadRunner- Tools-IP Wizard

第二步:

选择create new setting,点击“下一步”

此时出现的页面是让输入服务器的IP地址,Loadrunner通过该地址更新路由表。

客户端计算机上添加新的IP地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由。如果服务器和客户端具有相同的子网掩码、IP 类和网络,则不需要修改服务器的路由表。如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该路由器的路径。确保将以下路由添加到服务器路由表:从 Web 服务器到路由器的路由,以及从路由器到负载生成器计算机上的所有 IP 地址的路由。

第三步:

在输入web服务器地址的页面中输入地址后,直接点击“下一步”

进入IP添加页面,点击“add”进行添加

第四步:

在from ip 输入框中输入起始ip,在Number to输入框中输入ip地址的位数,输入正确的子网掩码,选中“verify that new ip addresses are not already used”,点击“ok”,此时IP Wizard会自动按照设置生成IP地址,并且将已经占用的IP列出。

第五步:

确认可用IP地址列表内容后,点击“ok”,此时IP Wizard提示需要重新启动计算机,点击“save as”保存IP列表,点击“ok”,重新启动计算机。

注:当保存IP地址列表后,下次启用IP欺骗时直接选择load previous setting from.....

第六步:

启用IP欺骗

选中Tools下的Expert mode,启动专家模式Expert mode,再点击Tools下的options,在Genearl选项卡中设置以线程方式或进程方式进行性能测试,这个选项一定要与当前场景的模式相匹配,也就是说使用本地虚拟IP测试时需要选中线程方式,使用负载生成器使用虚拟IP测试时需要选中进程方式。

在controller中,选择 Scenario-〉Enable IP Spoofer,此项设置允许使用IP欺骗。

第七步:

验证IP欺骗是否有效

方法一

计算机重新启动后,在运行行中输入:CMD,在DOS命令提示符窗口中输入:IPCONFIG,此时便可看到虚拟的IP地址均已经被启用;

方法二

在脚本的Action()部分增加如下代码:

char * ip=lr_get_vuser_ip();

if(ip)

lr_vuser_status_message("The ip address is %s",ip);

else

lr_vuser_status_message("IP spoofing disabled");

然后通过控制器设置并运行场景,日志中可以看到IP地址。

第八步:

这一部很重要,如果不做这一步,很多IP地址就被占用了,可能你们网管跟你闹上了呵呵。打开IP Wizard,选择restore original settings释放所有虚拟IP。

五.误区及答疑

这么简单的功能操作步骤哪里有误区呢,常见的下面需要2点:

1、和Generator搞混。以为添加多个IP后,需要添加多个IP对应的Generator才可以使用。(同一个Generator只需要以其某一个IP添加到Generator列表中即可以使用其它的IP。)

2、在上一个错误基础上,对于同一个脚本,创建多个Vuser执行组,然后以不同IP选择同一个物理Generator来执行。( 实际上,在场景中除非需要在这个Generator上运行多个不同脚本,否则没有必要多次以不同IP选择。)

其实只要记住两个要素即可使用这个功能:

1、 用IP wizard 添加多个IP;

2、在Controller中通过Enable IP Spoofing。

而在使用IP欺骗功能上应该注意三点:

1、虚拟IP是同一个Generator上的多个IP,这种分配过程由Controller自动来进行;

2、对于同一个Generator,你模拟的用户数量多于IP数量时,将会发生IP重复的现象,

否则将随机分配不同的IP。

3、对于同一个Generator,以其某一个IP添加到Generator中即可,不需要用不同的IP添加多次。

Q/A:

1.自己本地的IP地址不在虚拟IP段内,有影响吗?

答:没有

2.是否需要配置多个load generator来对应不同的虚拟IP呢?

答:不用,这个过程是generator自己完成的。

3.不同的generator是否都需要设置IP spoof呢?

答:Definitely Yes,不然的话不设IP欺骗的那台只会使用一个本地的IP执行。

4.虚拟用户数和虚拟IP数量上有什么关系呢?

答:如果虚拟用户数大于IP数量时,每个用户会得到不同的IP,否则,会有IP重复的现象。

5. 还有别的办法添加虚拟IP吗?

条条大路通罗马,试试这个。

在一台机上虚拟的IP跨网段的处理,可通过在服务器端添加路由来实现。

例:

服务器IP:192.168.0.1

测试机IP:192.168.0.206

测试机上添加的虚拟IP: 192.168.10.1~128

那么在服务器端执行以下命令:

route add 192.168.10.0 mask 255.255.255.0 192.168.0.206

ip欺骗 第二篇_loadrunner-ip欺骗设置教程_实例补充

本教程由 大漠飞鹰 编写 ,帖子名称为“LRIP欺骗设置和有效性验证”,相应的地址是:

颜色说明:补充内容为青绿色背景

Ip欺骗的相关帖子

设置IP欺骗的原因

1、 当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候

通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。

2、 某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。LR中的IP

欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力。

多IP地址的设置

IP地址的设置较为简单,可直接在本地连接中增加IP,或者通过LR自带的工具“IP wizard”设置,当然也可以使用其它软件设置。唯一需要注意的就是注意设置的IP的有效性。

“选项”中的IP设置

使用“选项”对话框中的“常规”选项卡,可以选择IP地址模式。只有在专家模式下操作 Controller 时,才显示该选项卡。

要设置常规专家模式设置,请执行下列操作:

1. 选择“工具”>“选项”。将显示“选项”对话框。选择“常规”选项卡。

2. 选择多个 IP 地址模式。

需要注意的是,这里的IP地址模式和运行时设置中的常规设置的不同,会导致IP欺骗失效。具体该怎么设置,这里就不讲了,很简单的东西。

启用IP欺骗

从 Controller 启用多个 IP 地址

定义多个 IP 地址后,您就可以设置一个选项,让 Controller 使用该功能。 要从 Controller 启用多个 IP 地址,请执行下列操作:

在 Controller“设计”视图中,选择“场景”>“启用 IP 欺骗器”。

注意:必须在连接到负载生成器之前选择该选项。如果是在连接了负载生成器之后启动的,只需将负载生成器断开(disconnect)再连接(connect)就可以了。 IP欺骗功能验证

IP欺骗已经设置了,但是是不是有效呢?通常会有这样的疑问。下面我们通过一个简单的试验,来验证是否有效。

在脚本的Action()部分增加如下代码:(根据自己的测试要求,我将这段代码放在init中) char * ip=lr_get_vuser_ip(); if(ip) else lr_vuser_status_message("IP spoofing disabled"); lr_vuser_status_message("The ip address is %s",ip);

然后通过控制器设置并运行场景,在Controller's Vuser 窗口中,大家可以看到如下的结果:

IP欺骗测试实例(补充内容)

测试的起源是由帖子“winsocket协议下的IP欺骗报9017错误”开始的,帖子的地址是:

问题:测试winsocket通信协议的两个服务器 通讯服务器和应用服务器 一个应用服务器可

【ip欺骗】

以和指定的(IP:Port)多个通讯服务器相连接 应用服务器之间会自动重连 创建连接的间隔是10秒 通讯服务器建立侦听 等待应用服务器的连接

测试方法:使用IP欺骗进行测试 首先使用ip wizard在本机建立了几个IP 重启机器后IP生效 然后将之前录制的通讯服务器脚本中的port相应更改保存 使用vuser genorator回放成功 然后将脚本加入到场景 总是提示vuser_init.c(25): Error : Timeout expired while trying to accept connection. Error code : 9017 但有时可以连接成功 于是在vuser_init中添加 lrs_set_accept_timeout()函数 在lrs_create_socket中忽略9017错误 但还是出现连接不成功 报9017的错误 请各位指教

初始化代码如下:

vuser_init()

{

lrs_startup(257);

lrs_set_accept_timeout(180,0);【ip欺骗】

while(lrs_create_socket("socket0", "TCP", "LocalHost=5500", "Backlog=5", LrsLastArg)==9017);

lrs_accept_connection("socket0", "socket1");

return(0);

}

问题解决过程(有待优化)

过程一:

基于是录制的winsocket之间的通信,我将其中一个脚本在场景中运行,其generator为192.168.0.120,然后将另一个脚本在Virtual user generator中执行,执行的日志可能会出现下面这种情况:

Virtual User Script started

Starting action vuser_init.

vuser_init.c(14): lrs_startup(257)

vuser_init.c(17): lrs_set_accept_timeout(240, 0) vuser_init.c(20): lrs_create_socket(socket1, TCP, ...)

vuser_init.c(20): Error : socket1 - Address already in use. Error code : 10048.

我认为是和之前场景中运行的socket有相同的handler所致,于是在vuser_init()中开始先创建并关闭几个socket,改变socket handler的值。编译执行,不再出现10048错误。于是将脚本加入到场景中并使用generator为192.168.0.121执行此脚本。这时,192.168.0.120和192.168.0.121会出现同时运行的情况,尽管不是每次执行场景时都是这样。

int handler1=0;

vuser_init()

{

lrs_startup(257);

ip欺骗 第三篇_ip欺骗设置教程

设置IP欺骗的原因

1、 当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。

2、 某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力。

多IP地址的设置

IP地址的设置较为简单,可直接在本地连接中增加IP,或者通过LR自带的工具“IP wizard”设置,当然也可以使用其它软件设置。唯一需要注意的就是注意设置的IP的有效性。

“选项”中的IP设置

使用“选项”对话框中的“常规”选项卡,可以选择IP地址模式。只有在专家模式下操作 Controller 时,才显示该选项卡。

要设置常规专家模式设置,请执行下列操作:

1. 选择“工具”>“选项”。将显示“选项”对话框。选择“常规”选项卡。

2. 选择多个 IP 地址模式。

需要注意的是,这里的IP地址模式和运行时设置中的常规设置的不同,会导致IP欺骗失效。具体该怎么设置,这里就不讲了,很简单的东西。【ip欺骗】

启用IP欺骗

从 Controller 启用多个 IP 地址

定义多个 IP 地址后,您就可以设置一个选项,让 Controller 使用该功能。 要从 Controller 启用多个 IP 地址,请执行下列操作:

在 Controller“设计”视图中,选择“场景”>“启用 IP 欺骗器”。 注意:必须在连接到负载生成器之前选择该选项。

IP欺骗功能验证

IP欺骗已经设置了,但是是不是有效呢?通常会有这样的疑问。下面我们通过一个简单的试验,来验证是否有效。

然后通过控制器设置并运行场景,在Controller's Vuser 窗口中,大家可以看到如下的结果: 在脚本的Action()部分增加如下代码: char * ip=lr_get_vuser_ip(); if(ip) else lr_vuser_status_message("IP spoofing disabled"); lr_vuser_status_message("The ip address is %s",ip);

ip欺骗 第四篇_如何使用LoadRunner的IP欺骗做性能测试

如何使用LoadRunner的IP欺骗做性能测试

一、 使用场景

在使用LoadRunner做性能测试的过程中,有时候我们会遇到这种场景,被测试的服务器对发送消息的客户端的IP有限制,服务器为了节省资源,同一时刻只允许一个IP一个连接。而LoadRunner默认情况下都是使用同一个IP与服务器进行通讯,直接在Loadrunner上运行多个用户则会失败。

还有两种场景,一是服务器对访问的IP做过了优化处理,对于同一个IP的客户端信息,做了缓存,以优化吞吐量。另一个是服务器只对消息头中的IP做处理而不是消息体中的IP做处理,这样就使消息体中的IP字段参数化失去了意义。

以上几种情况,就到了我们使用IP欺骗的时候了。

二、 使用环境

LoadRunner11及更早的版本的IP欺骗可以在XP或者Windows Server2008的机器上使用,无法在Win7的机器上使用。这个可能是Win7禁用了IP欺骗。无论怎么配置,从LoadRunner上显示的是IP欺骗功能使用正常,但抓到的IP包永远都是某个固定IP。所以在使用IP欺骗之前,一定要先搞清楚这个操作系统版本支持不支持。由于环境有限,目前我所知道的就是Win7不支持,XP和2008支持。

三、 使用方法

1. 添加IP

在开始菜单中打开LoadRunner目录下的IP Wizard

在IP向导里选择第一项Create new setting,下一步

在下面的文本框中输入服务器的IP地址,该选项为可选项,以便自动添加到服务器的

路由。如果到服务器需要经过路由器,则这一步需要添加,如果可以直达,这步可以省略。

也可以在cmd里面手工添加路由。

在下面的界面点击Add,下一步

在下图中输入IP地址段,这里的ABC类地址段是为了简化输入设置的,不会做地址段校验。需要注意的是,如果选择C类最多只能模拟255个地址,如果需要更多地址,就要选择A类或B类地址。

输入完后,向导会将要生成的IP列表展示出来,点击完成。

此时可以选择将设置的IP保存起来,然后在下次使用IP欺骗时,直接选择Load Previous Setting,导入保存的地址。点击OK,系统会自动添加这些IP。

在CMD里面检查生成的IP是否正确。【ip欺骗】

添加完毕后,请使用ping –S命令测试添加的IP与服务器是否正常通讯。

ip欺骗 第五篇_IP欺骗ok

IP欺骗(IP Spoofer)

1.需要使用ip欺骗的原因:

①当某个IP的访问过于频繁或者访问量过大时,服务器会拒绝访问请求,这时通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果。

②某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能。LR中的IP欺骗通过调用不同的IP,可以很大程度上模拟实际使用中多IP访问,测试服务器均衡处理的能力。

③有一些网站会限制同一个用户同一个IP 的登录。为了更加真实的模拟实际情况,LoadRunner允许运行的虚拟用户使用不 同的IP 访问同一网站。

④如果服务器对用户的IP有限制(安全原因),启用IP欺骗。设置IP欺骗应该注意:1.测试负载机应该使用静态IP;2.在选择测试负载机之前开启IP欺骗开关

注意:

①IP Spoofer在连接Load Generators之前启用;

②要使用IP欺骗,各个Load Generators机器必须使用固定的IP,不能使用动态IP; ③需要真实的IP地址作为ip欺骗的ip地址段,也就是说虚拟的这些ip要能够ping通服务器;

④IP欺骗是使用局域网真实地址对服务器欺骗,所以此处从网管那里申请来的IP是要还的,不能长期占用,否则后果很严重。

⑤IP欺骗不能在WIN7系统上使用,可能WIN7禁用了IP欺骗,无论如何设置,从Loadrunner上显示的IP欺骗功能使用正常,但抓到的IP包永远是某个固定IP;可以在XP和Windows Server2008上使用。

2. 使用loadrunner进行IP欺骗的注意事项:

①本地的IP设置不能为“自动获取”,必须指定一个静态IP,如果本地是动态获取IP,在运行HP LoadRunner ---->Tools ---->IP Wizard时会弹出提示:

②所添加的IP只能是局域网内的网段:只能添加192段,127段,10段IP地址,且是与压力机在同一个网段内。(一般需要网管空余一部分IP做压力测试使用)

3. IP欺骗的设置方式

下面进入正式的配置过程:

第一步:

create new setting 创建新的设置

当第一次使用IP欺骗或已经释放了添加的IP时,就需要选择这一项创建新有设置。 Load previous settings fro 读取IP列表文件

从以前设置的IP地址列表中读取IP地址。

Restore original setting 释放已经设置的IP

释放已经添加的IP 地址(因为使用IP欺骗会占用大量的IP资源,可能会造成其他机器没有IP可用的情况,使用该项可以恢复到原来状况)。

这里选择默认项:create new setting (创建新的设置) ,点击“下一步”。

第二步:

让输入服务器的IP地址,Loadrunner通过该地址更新路由表。

客户端计算机上添加新的IP地址后,服务器需要将该地址添加到路由表,以便能够识别返回到客户端的路由:

如果服务器和客户端具有相同的子网掩码、IP 类和网络即客户端到服务器端不经过路由,则不需要修改服务器的路由表,这一步可以忽略;

如果客户端和服务器计算机之间有一个路由器,则服务器需要识别经过该路由器的路径。确保将以下路由添加到服务器路由表:从 Web 服务器到路由器的路由,以及从路由器到负载生成器计算机上的所有 IP 地址的路由,则这一步需要添加服务器的IP地址。

这里可以不做任何添加,点击“下一步”。

第三步:

默认显示本机的IP 地址,当然,我们还需要添加更多的IP 。点击“Add”,进入IP添加页面。

第四步:

Class C、Class B、Class A 表示我们要使用是的A类、B类还是C类IP地址。don't use any of these 不要使用任何,它会把默认的IP与子网掩码清空。

(C类最多只能模拟255 个IP,如果你的需要更多,那么就需要使用A 类或B类) from ip 输入框中输入起始ip

Number to 输入框中输入ip地址的个数,也就是说我们需要成多少个用于欺骗的IP (我上面的配置是从110开始,按顺序生成5个)

Submask根据IP类型输入正确的子网掩码

选中“verify that new ip addresses are not already used”,点击“OK”。

此时IP Wizard会自动按照设置生成IP地址,并且将已经占用的IP列出,点击“完成” 第五步:

点击“save as”按钮,可以将我们设置的IP 保存成一个文件,以后再设置的时候,是在第一步里,我们可以选择第二个选项(Load previous settings fro),从文件导入IP 。 点击“ok”,IP Wizard开始帮我们生成IP 。

设置的虚拟IP生效后,此时使用ping会发现都能ping通,并且本机的IP也会被改成了第一个虚拟IP地址。确认虚拟IP是否都生效的方法:在命令窗口输入ipconfig/all,命令验证:

ip欺骗 第六篇_IP欺骗攻击

黑客攻击的常用方法剖析(2)

 IP欺骗攻击

由于TCP/IP本身有着不安全的地方,即使是很好的实现了协议,也可以对TCP/IP网络进行攻击。这些攻击包括序列号欺骗、路由攻击、源地址欺骗和授权欺骗。下面介绍IP欺骗攻击方法,这种攻击是建立在攻击者的计算机(包括路由)是连接在Internet上的。这里的攻击方法是针对TCP/IP本身的缺陷的,而不是某一具体的实现。事实上,IP欺骗不是进攻的结果,而是进攻的手段,进攻实际上是信任关系的破坏。

1.IP欺骗原理

所谓IP欺骗,无非就是伪造他人的IP地址,其实质就是让一台计算机来扮演另一台计算机,借以达到蒙混过关的目的。

IP欺骗利用了主机之间正常信任关系来发动的。所谓信任关系就是网络上的两台计算机X和Y,Y可以利用远程登录工具,无需要口令验证就可以登录到X主机上,而登录的基础是X对Y主机IP的验证。即X是否对Y的提供服务是基于对主机Y的IP地址的信任。 既然X、Y之间的信任关系是基于IP地址建立起来的,那么假如能够冒充Y的IP地址,就可以使rlogin登录上X,而不需要任何口令的验证。——这就是IP欺骗的最根本的理论依据。 具体的攻击过程:

(1)目标主机已选定,比如X。其次,信任模型已被发现,并找到了一个被目标主机信任是主机,比如Y。

(2)一旦发现被信任的主机,为了伪装它,往往要使其丧失工作能力。由于攻击者将要代替真正的被信任主机,所以它必须确保真正被信任的主机不能接收到任何有效的网络数据,否则将会被揭穿。

(3)使得被信任的主机(Y)丧失工作能力后,伪装成被信任的主机,同时建立起与目标主机基于地址验证的应用连接。如果成功,黑客可以使用一种简单的命令放置一个系统后门,以进行非授权操作。

这就是IP欺骗攻击的全过程。

攻击过程听起来很完美,但实际上却要有很多工作要做。

虽然可以通过编程的方法随意改变发出的包的IP地址,但TCP协议对IP进行了进一步的封装(TCP协议是一种相对可靠的协议),不会让黑客轻易得逞。

下面来看一下一次正常的TCP/IP会话的过程:

由于TCP是面向连接的协议,所以双方在正式传输数据以前,需要用“三次握手”来建立一个稳定的连接。

假设A、B两台主机进行通信,B首先发送带有SYN(是Synchronize,同步序列编号)标志的数据段通知A需要建立TCP连接,TCP的可靠性就是由数据包的多位控制字来提供。其中最重要的是数据序列SYN和数据确认标志ACK。B将TCP报头中的SYN设为自己本次连接的初始值(ISN)。

A收到B的SYN包后,会发送给B一个带有SYN+ACK标志的数据段,告知自己的ISN,并确认B发送来的 第一个数据段,将ACK

设置成为B的SYN+1。

B确认收到A的SYN+ACK数据包,将ACK设置成为A的SYN+1。

A收到B的ACK后,连接成功后,双方就可以正式传输数据了。 综上所述,TCP/IP会话的过程分为这样简单的3步:

(1)B发送带有SYN标志的数据段通知A需要建立TCP连接;

(2)A收到B的SYN包后,发送给B一个带有SYN+ACK标志的数据段,告知自己的ISN;

(3)B发送ACK给A,连接成功建立。

了解上述过程,就很容易向想到:假如要冒充B对A进行攻击,就要先要使用B的IP地址发送SYN标志给A,但是当A收到后,它并不会把SYN+ACK发送到攻击者的主机,而是发送到真正的B上去,这时攻击就“露馅”了。因为A根本没有发送过SYN请求。所以如果要冒充B,首先要让B失去工作能力。

但是这还不够,最难的是要对A进行攻击,必须要知道A使用的ISN。(TCP使用的ISN是一个32位的计数器,从0到4294967295)

TCP为每一个连接选择一个初始序号ISN。为了防止因为延迟、重传等扰乱三次握手,ISN不能随便选取,不同的系统有不同的算法。因此,理解TCP如何分配ISN以及ISN随时间变化的规律,对于成功攻击IP欺骗攻击是很重要的。

ISN每秒增加128000,如果有连接出现,每次连接将把计数器的值增加为64000。这使得用于表示ISN的32位计数器在没有连接情

况下没9.32小时复位一次。

假设黑客已经使用某种方法,能预测出ISN,那么他就可以将ACK序号发送给主机A,这时连接就建立了。

2.使主机B瘫痪并猜测出主机A的ISN

(1)使被信任的主机B瘫痪

由于攻击者将要代替真正的被信任的主机,他必须确保被信任的主机不能收到任何有效的网络数据,否则将会被揭穿。有许多方法可以作到这些。下面仅讨论一种方法,即“TCPSYN淹没”。

建立TCP连接的第1步就是客户端向服务器发送SYN请求。通常服务器将向客户端发送SYN/ACK。客户端是由IP地址确定的。客户端随后向服务器发送ACK信号,然后传送数据就开始了。黑客用来发出这些请求的源地址是使用一个合法但是虚假的IP地址。而受攻击的主机往往会向该IP地址发送响应。与此同时IP包会通知受攻击主机的TCP:该主机不可达到,但是不幸的是TCP会认为是一种暂时的错误,并继续尝试连接,直至确信无法连接。但已经耗费了大量宝贵的时间,这段宝贵的空闲时间就是黑客进行攻击目标主机的时间。

(2)猜测目标主机A的ISN

要对目标主机进行攻击,必须知道目标主机使用的数据包序列号。如何进行预测?

攻击者首先与被攻击的一端口(比如端口25)建立起正常的连接。通常,这个过程被重复若干次,并将目标主机最后发送的ISN存

储起来。然后还需要估计他的主机与被信任主机之间的往返时间,这个时间是通过多次统计平均计算出的。往返时间对估计下一个ISN是非常重要的。(前面已经提到每秒钟ISN增加128000,每次连续增加64000。因此就可以估计ISN的大小是128000乘以往返时间的一半,如果此时目标主机刚刚建立了一个连接,那么再加上64000)

一旦估计出了ISN的大小,就可以进行攻击了。当黑客的虚假的TCP数据包进入目标主机时,如果估计的序列号是正确的,进入的数据将被放置在目标机的缓冲区中。但是实际攻击过程中一般没有那么幸运,若估计的序列号小于正确值,那么将被放弃;若估计的序列号大于正确值,并且在缓冲区大小之内,那么该数据将被认为是一个未来的数据;若估计的序列号大于正确值,并且不在缓冲区之内,TCP将会放弃它并返回一个期望获得的数据序列号。

因此,IP欺骗攻击的步骤为:

(1)首先使被信任的主机的网络暂时瘫痪,以免对攻击造成干扰;

(2)然后连接到目标机的某个端口来猜测ISN基值和增加规律;

(3)接下来把源地址伪装成被信任主机,发送带有SYN标志的数据段请求连接。

(4)然后,黑客等待目标机发送SYN+ACK包给已经瘫痪的被信任主机,因为黑客这时看不到这个包。

(5)最后再次伪装成被信任主机向目标主机发送ACK,此时发送的数据段带有预测的目标主机ISN+1。

本文来源:http://www.gbppp.com/jd/444278/

推荐访问:ip欺骗攻击 ip欺骗工具

热门文章