【测试】在测试中构造指定源IP请求的一种方式

举报
kehaar 发表于 2017/12/29 09:41:46 2017/12/29
【摘要】 在测试中,有时会遇到这样一种情况,被测系统根据访问的源IP产生不同的处理(例如:基于源地址的负载均衡、根据源IP地区返回不同的响应等),这要求我们在测试时测试使用指定IP访问系统的场景。 当被测系统和测试工具(执行机)所在组网环境比较复杂时,无法要求执行机的IP地址刚好是测试要求的源IP,此时需要我们在执行机上构造这种请求

在测试中,有时会遇到这样一种情况,被测系统根据访问的源IP产生不同的处理(例如:基于源地址的负载均衡、根据源IP地区返回不同的响应等),这要求我们在测试时测试使用指定IP访问系统的场景。

当被测系统和测试工具(执行机)所在组网环境比较复杂时,无法要求执行机的IP地址刚好是测试要求的源IP,此时需要我们在执行机上构造这种请求


前提条件:

被测系统和测试工具(执行机)在一个二层网络中,如果二层网络中有IP伪造校验机制(例如Openstack的安全组),需要关闭。


步骤1、

在执行机上创建1个新的回环端口:

cp /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/ifcfg-lo:1


配置该配置文件:

vim/etc/sysconfig/network-scripts/ifcfg-lo:1

实例配置如下

DEVICE=lo:1
IPADDR=171.84.0.2
NETMASK=255.255.255.255
#Ifyou'rehavingproblemswithgatedmaking127.0.0.0/8amartian,
#youcanchangethistosomethingelse(255.255.255.255,forexample)
ONBOOT=yes
NAME=loopback:1

其中IPADDR为要构造的源IP

保存后启动该端口:

ifup lo:1

使用ifconfig可以看到该IP已配置上:

image.png


至此,已经可以在执行机上使用需要的源IP进行请求,如果使用的工具有指定请求源IP的功能,可以直接进行请求

但是此时还有一个问题,就是被测系统回复的包无法回到执行机上而是会发去网关,为了能收到回包,还需要一个步骤:

步骤2、在被测系统上添加路由:

在被测系统上使用如下命令添加路由:

route add -host 171.84.0.2 gw 172.25.1.36 dev bond1

其中171.84.0.2为构造的源IP,172.25.1.36为执行机实际与被测系统通信的IP(即网卡上的IP),bond1 为被测系统和执行机通信的网卡名

注意1:配置此路由后,被测系统将无法正常与真正的171.84.0.2通信,配置前请评估好是否存在对系统的影响

注意2:此法配置的路由在系统重启时会被丢失


测试完成成后,使用如下命令删除添加的路由:

route del -host 171.84.0.2


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。