SIPP压测环境安装部署,以及脚本编写

1、首先去官网下载sipp的tar包,然后把sipp-3.4.1.tar.gz上传到liunx下自建的目录或者home目录。(rz-上传sz-下载)
2、将sipp-3.4.1.tar.gz进行解压(tar -xzcf)
3、进入到解压后的sipp目录,编译配置 (./configure 报错因为没有组件和依赖包)安装c++组件和一些依赖包。
yum -y install gcc-c++
yum -y install ncurses-devel
yum -y install openssl-devel
为了安装libpcap,还需要安装以下两个开发包:
yum -y install flex
yum -y install bison
4、下载并安装libpcap开发包。需要支持RTP传输,因此还需要使用如下命令进行libpcap包的下载编译安装
进入到home目录下,下载libpcap包:
wget -c http://www.tcpdump.org/release/libpcap-1.5.3.tar.gz
解压(tar -xzvf libpcap-1.5.3.tar.gz)
进入解压后的目录:libpcap-1.5.3/
编译配置./configure
编译:make
安装:make install

5、配置sipp
进入sipp目录
编译配置:./configure --with-pcap --with-openssl
编译:make
安装:make install
完毕后使用sipp -v命令查看编译及安装结果,其中第一行如果包含PCAP-RTPSTREAM即说明支持rtp。
以上转载原文链接:https://blog.csdn.net/weixin_41502613/article/details/104756522

【脚本编写】

一、服务器抓包:xshell链接被压业务服务器的地址

tcpdump -i any -s 0 -w 0945.pcap   //执行抓包命令

Ctrl+c  //结束抓包

 ll   //查看生成的抓包文件

sz 0945.pcap      //将抓包文件从linux下载到本机电脑上

使用wireshark查看pcap文件,通过搜索sip||rtp  查看相关协议交互信息

二、根据sip的交互报文,编写sipp脚本

 

三:将uac脚本放在在sippp-3.3目录下执行:

./sipp -i 172.xx.xx.86 -p 5xxx5 -sf uac3.xml 172.xxx.xxx.38:5xx0 -r 1 -l 10 -m 20

(客户端的端口随便写,只要没被占用就ok ,服务器的端口要写业务的端口)

 

linux内存监控命令:top,

执行获取视频流并发的同时,通过客户端去拉流,查看是否正常

cup,磁盘空间,都会影响读写,多维度查看

 (如果需要设置变量,添加-inf data.csv )

./sipp -i 172.xx.xxx.86 -p 55555 -sf uac3.xml -inf data.csv 172.xxx.xxx.38:5xxxx0 -r 1 -l 3 -m 3

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SIPp可以使用XML脚本来描述SIP会话。盲转是一种SIP功能,允许用户在不知道目标URI的情况下将呼叫转移到其他URI。下面是一个基本的SIPp盲转脚本示例: ```xml <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> <!-- 定义变量 --> <scenario name="Blind Transfer" description="Blind Transfer" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <send retrans="500" trcount="1"> <![CDATA[ INVITE sip:user1@192.168.1.1 SIP/2.0 Via: SIP/2.0/UDP 192.168.1.2:5060;branch=z9hG4bK12345 From: sip:user2@192.168.1.2;tag=12345 To: sip:user1@192.168.1.1 Call-ID: 12345@192.168.1.2 CSeq: 1 INVITE Contact: sip:user2@192.168.1.2:5060 Content-Type: application/sdp Content-Length: 0 ]]> </send> <!-- 等待100 Trying响应 --> <recv response="100" optional="true"> </recv> <!-- 等待200 OK响应 --> <recv response="200"> <!-- 提取From标头 --> <check_from uri="sip:user2@192.168.1.2" /> <!-- 提取To标头 --> <check_to uri="sip:user1@192.168.1.1" /> <!-- 提取Contact标头 --> <check_contact /> <!-- 提取SDP信息 --> <check_body content="audio" /> </recv> <!-- 发送盲转请求 --> <send retrans="500" trcount="1"> <![CDATA[ REFER sip:user3@192.168.1.3 SIP/2.0 Via: SIP/2.0/UDP 192.168.1.2:5060;branch=z9hG4bK12346 From: sip:user2@192.168.1.2;tag=12345 To: sip:user1@192.168.1.1 Call-ID: 12345@192.168.1.2 CSeq: 2 REFER Contact: sip:user2@192.168.1.2:5060 Refer-To: <sip:user3@192.168.1.3> ]]> </send> <!-- 等待202 Accepted响应 --> <recv response="202"> </recv> <!-- 等待BYE请求 --> <recv request="BYE"> <!-- 提取From标头 --> <check_from uri="sip:user2@192.168.1.2" /> <!-- 提取To标头 --> <check_to uri="sip:user3@192.168.1.3" /> </recv> <!-- 发送200 OK响应 --> <send> <![CDATA[ SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.1.2:5060;branch=z9hG4bK12347 From: sip:user2@192.168.1.2;tag=12345 To: sip:user3@192.168.1.3 Call-ID: 12345@192.168.1.2 CSeq: 3 BYE Contact: sip:user2@192.168.1.2:5060 Content-Length: 0 ]]> </send> </scenario> ``` 如上所示,该脚本首先发送一个INVITE请求,等待100 Trying响应和200 OK响应。然后,发送一个REFER请求,将呼叫转移给URI为`<sip:user3@192.168.1.3>`的用户。最后,等待BYE请求和200 OK响应。在发送和接收消息时,可以使用`<check_*>`元素从SIP消息中提取信息,以便进行后续处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值