用nc和perl expect 模拟服务

原创 2013年12月02日 15:29:28

     在测试一个服务应用A时,如果这个服务A需要想另外一个服务B发送请求并获得结果的化,测试时可以采用服务隔离的方式来隔离B服务,提供大家一中隔离方式。

     使用技术很简单,就是结合linux中nc命令和perl 的expect 命令来模拟服务监听,收到请求后,调用后面应用解析请求,按规则生成响应,通过nc对请求服务进行响应。

      正常方式:

       服务A——发送求情——>服务B 

       服务A<——接收响应——服务B

      隔离方式:

       服务A——发送求情——>服务B Mock(nc +expect)

       服务A<——接收响应——服务B Mock (nc + expect)

步骤如下:

1、通过expect 启动NC (制定端口)

         2、服务A发送请求

         3、nc 接手请求

         4、expect 获得请求信息 

         5、响应规则处理器,处理请求信息,构造响应信息

         6、expect 向 nc发送响应信息

         7、nc 向服务A 发送响应信息。

         OK 搞定, 这时A以为B是正常工作中。



Perl脚本中Expect模块的学习使用

Expect模块可以用来向需要交互执行的程序输入必要的信息。以脚本形式实现交互式应用程序的语言。代码:$exp = new Expect;new一个Expect.$exp->spawn($comman...
  • jichenchen1990
  • jichenchen1990
  • 2017年07月25日 11:22
  • 624

[Perl] use Expect

Expect模块可以用来向需要交互执行的程序输入必要的信息。相当于expect脚本的Perl语言实现。 spawn函数——对应expect脚本中的spawn 语法:Expect->spawn($c...
  • ASX20042005
  • ASX20042005
  • 2011年12月20日 18:01
  • 2719

Expect模块安装 Perl脚本

一、Expect模块安装 通过安装Perl的Expect模块可以方便的实现远程主机自动登入和执行命令的功能。由于Expect模块依赖于IO::Tty模块,所以要使用Expect模块需要安装这2个模块...
  • boyishachang
  • boyishachang
  • 2013年03月15日 14:49
  • 905

巧用nc命令搭建http请求调试工具

在Linux下,使用nc命令可以传输文件,可以方便快捷的调试http请求,查看请求信息。        作为nc调试工具,可以用以下方式实现: 1.在本机终端执行命令 nc -l 888...
  • diabatic
  • diabatic
  • 2015年07月13日 20:46
  • 1986

PERL Expect

PERL Expect.pmExpect.pm 模块:主要用来和另外一个server进行交互的,比如ftp,telnet等等。在写一些监控脚步上,也会经常用到。我所用到的方法很简单,spawn($co...
  • ilovemilk
  • ilovemilk
  • 2010年01月27日 00:15
  • 3139

perl的expect使用方法,实现非交互式登录

perl的expect基本使用方法.
  • ilovemilk
  • ilovemilk
  • 2010年06月09日 20:39
  • 2777

Perl Net::SSH::Expect.pm 包详解

Net::SSH::Expect.pm  new(): 以哈希的方式指定参数: 'host'=> 'user' => 'password' => 'port' => 'raw_pty'=> 创...
  • qq_32345239
  • qq_32345239
  • 2016年12月30日 19:19
  • 911

巧用nc,模拟GET和POST

前一段时间在用http解码相关的测试工作,经常需要构造一些字段,比如构造http header、主体等,我想同行的人一定也测试过。我用到过webstress、firefox的live http hea...
  • sdsabc2000
  • sdsabc2000
  • 2015年11月13日 17:46
  • 531

scp远程拷贝expect实现SHELL

在LINUX上,我们可以很方便的使用scp命令来远程拷贝文件,但是由于scp命令本身无保存密码选项,所以在shell里面无法像samba那样子保存密码,比较麻烦,下面介绍下两种实现方法。 方法一: ...
  • ASX20042005
  • ASX20042005
  • 2011年12月20日 18:14
  • 1291

expect安装编译方法

本文介绍了Linux系统下的工具expect的编译安装方法
  • linfengfeiye
  • linfengfeiye
  • 2010年07月14日 13:11
  • 1007
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用nc和perl expect 模拟服务
举报原因:
原因补充:

(最多只允许输入30个字)