SIPp:SIP 协议性能测试工具!全参数详细教程!Kali Linux教程!
简介
SIPp 是一个测试 SIP 协议性能的工具软件,它包含了一些基本的 SipStone 用户代理工作
流程(UAC 和 UAS),并可使用 INVITE 和 BYE 建立和释放多个呼叫。它也可以读 XML 的场景
文件,即描述任何性能测试的配置文件(可以用他来模拟现场的 SIP 信令,以重现出现的故
障;或者可以自定义 SIP 协议以测试终端对某些方面的容错或错误处理能力)。它能动态显
示测试运行的统计数据(呼叫速率、信号来回的延迟,以及消息统计)。周期性地把 CSV 统
计数据转储,在多个套接字上的 TCP 和 UDP,利用重新传输管理的多路复用。在场景定义文
件中可以使用正则表达式,动态调整呼叫速率。SIPp 可以用来测试许多真实的 SIP 设备,如
SIP 代理,B2BUAs,SIP 媒体服务器,SIP/x 网关,SIP PBX,等等,它也可以模仿上千个 SIP 代
理呼叫你的 SIP 系统。另外,SIPp 还可以简单用来测试 SIP 协议。
安装
源码安装
通过以下命令来进行克隆项目源码,建议请先提前挂好代理进行克隆项目。
git clone https://github.com/SIPp/sipp.git
进入目录并查看。
cd sipp/
ls
安装
./build.sh --none
运行以下命令,如果出现这个界面,就说明安装成功了。
./sipp -h
Docker安装
通过以下命令来进行克隆项目源码,建议请先提前挂好代理进行克隆项目。
git clone https://github.com/SIPp/sipp.git
进入目录并查看。
cd sipp/
ls
进入 docker 目录并查看。
cd docker/
ls
修改 Docker 守护进程配置文件
sudo nano /etc/docker/daemon.json
添加或修改为以下内容
{"features": {"buildkit": true}
}
重启 Docker 服务
sudo systemctl restart docker
开始安装
DOCKER_BUILDKIT=1 sudo docker build -t sipp -f Dockerfile ..
运行以下命令,如果出现这个界面,就说明安装成功了。
sudo docker run -it sipp /usr/local/bin/sipp -h
APT包管理器安装
Kali Linux 默认已经安装好 sipp 工具了。如果还未安装的话,也可以通过以下命令来进行安装。
sudo apt install sipp
使用
1. 帮助文档
sipp
2. 常规使用
用法:sipp remote_host[:remote_port] [options]remote_host:远端主机
remote_port:远端主机端口
options:选项sipp 192.168.174.5:5060
3. -v
显示版本和版权信息。
sipp -v
4. -aa
启用 INFO、UPDATE 和 NOTIFY 消息的自动 200 OK 应答。
sipp 192.168.174.5:5060 -aa
5. -auth_uri
强制设置用于身份验证的 URI 值。默认情况下,URI 由 remote_ip:remote_port 组成。
sipp 192.168.174.5:5060 -auth_uri 192.168.174.5.5060
6. -au
设置用于身份验证挑战的授权用户名。默认值取自 -s 参数。
7. -ap
设置用于身份验证挑战的密码。默认值为“password”。
sipp 192.168.174.5:5060 -sn uac -au msfadmin -ap msfadmin
8. -base_cseq
每次调用的 [cseq] 的起始值。
sipp 192.168.174.5:5060 -sn uac --base_cseq 10
9. -bg
以后台模式启动 SIPp。
sipp 192.168.174.5:5060 -sn uac -bg
10. -bind_local
将套接字绑定到本地 IP 地址,即本地 IP 地址用作源 IP 地址。如果 SIPp 运行在服务器模式下,它将仅监听本地 IP 地址,而不是所有 IP 地址。
sipp 192.168.174.5:5060 -sn uac -bind_local
11. -buff_size
设置发送和接收缓冲区大小。
sipp 192.168.174.5:5060 -sn uac -buff_size 64
12. -calldebug_file
设置调用调试文件的名称。
sipp 192.168.174.5:5060 -sn uac -calldebug_file test
13. -calldebug_overwrite
覆盖调用调试文件(默认为 true)。
sipp 192.168.174.5:5060 -sn uac -calldebug_overwrite true
14. -cid_str
调用 ID 字符串(默认为 %u-%p@%s)。%u=call_number, %s=ip_address, %p=process_number, %%=%(顺序任意)。
sipp 192.168.174.5:5060 -sn uac -cid_str %u-%p@%s
15. -ci
设置本地控制 IP 地址
16. -cp
设置本地控制端口号。默认为 8888。
sipp 192.168.174.5:5060 -sn uac -ci 127.0.0.1 -cp 8888
17. -d
控制调用时长。更准确地说,如果场景中“暂停”指令没有“毫秒”部分,则此参数控制这些指令的持续时间。默认值为 0,默认单位为毫秒。
sipp 192.168.174.5:5060 -sn uac -d 100
18. -deadcall_wait
为改进消息和错误日志,应保留 Call-ID 和呼叫的最终状态多长时间(默认单位为毫秒)。
sipp 192.168.174.5:5060 -sn uac -deadcall_wait 100
19. -default_behaviors
设置 SIPp 将使用的默认行为。可能的值包括:
- all 使用所有默认行为
- none 不使用默认行为
- bye 为中止的呼叫发送“bye”消息
- abortunexp 收到意外消息时中止呼叫
- pingreply 回复 ping 请求
如果行为以 - 开头,则表示已关闭。示例:all,-bye
sipp 192.168.174.5:5060 -sn uac -default_behaviors all
sipp 192.168.174.5:5060 -sn uac -default_behaviors none
sipp 192.168.174.5:5060 -sn uac -default_behaviors bye
sipp 192.168.174.5:5060 -sn uac -default_behaviors abortunexp
sipp 192.168.174.5:5060 -sn uac -default_behaviors pingreply
20. -error_file
设置错误日志文件的名称。
sipp 192.168.174.5:5060 -sn uac -error_file error
21. -error_overwrite
覆盖错误日志文件(默认为 true)。
sipp 192.168.174.5:5060 -sn uac -error_overwrite true
22. -f
设置屏幕上的统计信息报告频率。默认值为 1,默认单位为秒。
sipp 192.168.174.5:5060 -sn uac -f 1
23. -fd
设置统计信息转储日志报告频率。默认值为 60,默认单位为秒。
sipp 192.168.174.5:5060 -sn uac -fd 60
24. -i
设置“Contact:”、“Via:”和“From:”标头的本地 IP 地址。默认值为主主机 IP 地址。
sipp 192.168.174.5:5060 -sn uac -i 127.0.0.1
25. -inf
在调用期间将外部 CSV 文件中的值注入到场景中。该文件的第一行指定数据是按顺序 (SEQUENTIAL)、随机 (RANDOM) 还是用户 (USER) 顺序读取。每行对应一次调用,并包含一个或多个以“;”分隔的数据字段。这些字段在 xml 场景文件中可以引用为 [field0]、[field1] 等。
可以同时使用多个 CSV 文件(语法: -inf f1.csv -inf f2.csv ...)
26. -infindex
文件字段
使用字段创建文件索引。例如,-inf users.csv -infindex users.csv 0 会基于第一个键创建索引。
sipp 192.168.174.5:5060 -sn uac -inf users.csv -infindex users.csv 0
27. -ip_field
设置注入文件中哪个字段包含客户端发送消息的 IP 地址。如果省略此选项且存在“-t ui”选项,则假定字段 0。请将此选项与“-t ui”选项一起使用。
sipp 192.168.174.5:5060 -sn uac -inf f1.csv -t ui -ip_field 0
28. -l
设置最大并发调用数。一旦达到此限制,流量就会减少,直到打开的调用数减少。默认值:
(3 * call_duration (s) * rate)。
sipp 192.168.174.5:5060 -sn uac -l 3 * call_duration (s) * rate
29. -log_file
设置日志操作日志文件的名称。
sipp 192.168.174.5:5060 -sn uac -log_file log
30. -log_overwrite
覆盖日志操作日志文件(默认为 true)。
sipp 192.168.174.5:5060 -sn uac -log_overwrite true
31. -lost
设置默认丢失的数据包数(场景规范会覆盖此值)。
sipp 192.168.174.5:5060 -sn uac -lost 1024
32. -rtcheck
选择重传检测方法:full(默认)或 loose。
sipp 192.168.174.5:5060 -sn uac -rtcheck full
sipp 192.168.174.5:5060 -sn uac -rtcheck loose
33. -m
处理完“calls”调用后停止测试并退出。
sipp 192.168.174.5:5060 -sn uac -m 100
34. -mi
设置本地媒体 IP 地址(默认值:本地主主机 IP 地址)。
sipp 192.168.174.5:5060 -sn uac -mi 127.0.0.1
35. -master
3pcc 扩展模式:指示主节点编号。
sipp -sn 3pcc-C-A -master 10 -slave_cfg slave.cfg -i 192.168.174.4
36. -max_recv_loops
设置每个周期接收和读取的最大消息数。高流量级别时请增加此值。默认值为 1000。
sipp 192.168.174.5:5060 -sn uac -max_recv_loops 1000
37. -max_sched_loops
设置每个事件循环运行的最大调用次数。高流量级别时请增加此值。默认值为 1000。
sipp 192.168.174.5:5060 -sn uac -max_sched_loops 1000
38. -max_reconnect
设置最大重新连接次数。
sipp 192.168.174.5:5060 -sn uac -max_reconnect 5
39. -max_retrans
超时调用结束前的最大 UDP 重传次数。INVITE 事务的默认值为 5,其他事务的默认值为 7。
sipp 192.168.174.5:5060 -sn uac -max_retrans 5
40. -max_invite_retrans
超时调用结束前邀请事务的最大 UDP 重传次数。
sipp 192.168.174.5:5060 -sn uac -max_invite_retrans 30
41. -max_non_invite_retrans
非邀请事务的最大 UDP 重传次数,在调用超时结束前。
42. -max_log_size
错误和消息日志文件的大小限制。
43. -max_socket
设置同时打开的最大套接字数量。如果您每次调用只使用一个套接字,则此选项非常重要。一旦达到此限制,流量将分配到已打开的套接字上。默认值为 50000
sipp 192.168.174.5:5060 -sn uac -max_non_invite_retrans 10 -max_log_size 10 -max_socket 50000
44. -mb
设置 RTP 回显缓冲区大小(默认值:2048)。
45. -message_file
设置消息日志文件的名称。
sipp 192.168.174.5:5060 -sn uac -mb 2048 -message_file message
46. -message_overwrite
覆盖消息日志文件(默认值为 true)。
sipp 192.168.174.5:5060 -sn uac -message_overwrite true
47. -mp
设置本地 RTP 回显端口号。默认值为 6000。
48. -nd
无默认值。禁用 SIPp 的所有默认行为,包括:
- UDP 重传超时时,发送 BYE 或 CANCEL 消息中止通话
- 接收超时且无 ontimeout 属性时,发送 BYE 或 CANCEL 消息中止通话
- 收到意外 BYE 消息时,发送 200 OK 消息并关闭通话
- 收到意外 CANCEL 消息时,发送 200 OK 消息并关闭通话
- 收到意外 PING 消息时,发送 200 OK 消息并继续通话
- 收到任何其他意外消息时,发送 BYE 或 CANCEL 消息中止通话
sipp 192.168.174.5:5060 -sn uac -mp 6000 -nd
49. -nr
在 UDP 模式下禁用重传。
50. -nostdin
禁用标准输入。
51. -p
设置本地端口号。默认值为系统随机选择的空闲端口。
52. -pause_msg_ign
忽略场景中定义的暂停期间收到的消息。
53. -periodic_rtd
在每个日志记录间隔重置响应时间分区计数器。
sipp 192.168.174.5:5060 -sn uac -nr -nostdin -p 8888 -pause_msg_ign -periodic_rtd
54. -plugin
加载插件。
sipp 192.168.174.5:5060 -sn uac -plugin compression.so
55. -r
设置调用速率(以每秒调用次数为单位)。此值可以在测试过程中通过按“+”、“-”、“*”或“/”更改。
默认值为 10。
按“+”键可将调用速率增加 1 * rate_scale,
按“-”键可将调用速率减少 1 * rate_scale,
按“*”键可将调用速率增加 10 * rate_scale,
按“/”键可将调用速率减少 10 * rate_scale。
如果使用 -rp 选项,则调用速率将根据用户指定的周期(以毫秒为单位)计算。
56. -rp
指定调用速率的周期。默认值为 1 秒,默认单位为毫秒。这允许您每 m 毫秒进行 n 次调用(使用 -r n -rp m)。
示例:-r 7 -rp 2000 ==> 每 2 秒进行 7 次调用。
-r 10 -rp 5s => 每 5 秒调用 10 次。
57. -rate_scale
控制“+”、“-”、“*”和“/”键的单位。
58. -rate_increase
指定每 -fd 个单位(默认为秒)增加一次速率。这允许您增加每个独立日志记录周期的负载。
示例:-rate_increase 10 -fd 10s ==> 每 10 秒增加 10 次调用。
59. -rate_max
如果设置了 -rate_increase,则在速率达到此值后退出。
示例:-rate_increase 10 -rate_max 100 ==> 将调用次数增加 10 次,直到达到 100cps。
60. -no_rate_quit
如果设置了 -rate_increase,则在速率达到 -rate_max 后不退出。
sipp 192.168.174.5:5060 -sn uac -r 10 -rp 1 -rate_scale 10 -rate_increase 10 -rate_max 100 -no_rate_quit
61. -recv_timeout
全局接收超时。默认单位为毫秒。如果未收到预期消息,则调用超时并中止。
62. -send_timeout
全局发送超时。默认单位为毫秒。如果由于拥塞导致消息未发送,则调用超时并中止。
63. -sleep
启动时休眠的时间。默认单位为秒。
64. -reconnect_close
重新连接时是否应关闭调用?
65. -reconnect_sleep
关闭和重新连接之间休眠的时间(以毫秒为单位)?
66. -ringbuffer_files
轮转后应保留多少个错误/消息文件?
67. -ringbuffer_size
错误/消息文件在轮转前应达到多大?
68. -rsa
将远程发送地址设置为“host:port”以发送消息。
sipp 192.168.174.5:5060 -sn uac -recv_timeout 10 -send_timeout 20 -sleep 5 -reconnect_close 400 -reconnect_sleep 300 -ringbuffer_files 100 -ringbuffer_size 100 -rsa 192.168.174.5.5060
69. -rtp_echo
启用 RTP 回显。在 -mp 定义的端口上接收的 RTP/UDP 数据包将回显给发送方。从此端口 + 2 接收的 RTP/UDP 数据包也将回显给发送方(用于音频和视频回显)。
70. -rtt_freq
freq 为必填项。每次 freq 调用后,都会将响应时间转储到 -trace_rtt 定义的日志文件中。默认值为
200。
71. -s
设置请求 URI 的用户名部分。默认值为“service”。
72. -sd
转储默认场景(嵌入在 sipp 可执行文件中)
73. -sf
加载备用 xml 场景文件。要了解更多关于 XML 场景语法的信息,请使用 -sd 选项转储嵌入场景。它们包含所有必要的帮助信息。
sipp 192.168.174.5:5060 -sn uac -rtp_echo -rtt_freq 200 -s service -sd -sf test.xml
74. -shortmessage_file
设置短信日志文件的名称。
sipp 192.168.174.5:5060 -sn uac -shortmessage_file shortmessage
75. -shortmessage_overwrite
覆盖短信日志文件(默认为 true)。
sipp 192.168.174.5:5060 -sn uac -shortmessage_overwrite true
76. -oocsf
加载通话中断场景。
77. -oocsn
加载通话中断场景。
78. -skip_rlimit
不执行文件描述符限制的 rlimit 调整。默认值:false。
79. -slave
3pcc 扩展模式:指示从机编号
80. -slave_cfg
3pcc 扩展模式:指示存储主从机地址的文件
sipp 192.168.174.5:5060 -sn uac -oocsf -oocsn -skip_rlimit -slave 10 -slave_cfg file
81. -sn
使用默认场景(嵌入在 sipp 可执行文件中)。如果省略此选项,则加载标准 SipStone UAC 场景。
此版本中的可用值:
- 'uac':标准 SipStone UAC(默认)。
- 'uas':简单 UAS 响应器。
- 'regexp':标准 SipStone UAC - 包含正则表达式和变量。
- 'branchc':客户端场景中的分支和条件分支。
- 'branchs':服务器场景中的分支和条件分支。
默认 3pcc 场景(参见 -3pcc 选项):
- '3pcc-C-A':控制器 A 端(必须在所有其他 3pcc 场景之后启动)
- '3pcc-C-B':控制器 B 端。
- '3pcc-A':A 端。
- '3pcc-B' :B 端。
sipp 192.168.174.5:5060 -sn uac
sipp 192.168.174.5:5060 -sn uas
sipp 192.168.174.5:5060 -sn regexp
sipp 192.168.174.5:5060 -sn branchc
sipp 192.168.174.5:5060 -sn branchs
sipp 192.168.174.5:5060 -sn 3pcc-C-A
sipp 192.168.174.5:5060 -sn 3pcc-C-B
sipp 192.168.174.5:5060 -sn 3pcc-A
sipp 192.168.174.5:5060 -sn 3pcc-B
82. -stat_delimiter
设置统计文件的分隔符
83. -stf
设置用于转储统计信息的文件名
sipp 192.168.174.5:5060 -sn uac -stat_delimiter -stf
84. -t
设置传输模式:
- u1:UDP,单套接字(默认)
- un:UDP,每次调用单套接字
- ui:UDP,每个 IP 地址单套接字。IP 地址必须在注入文件中定义。
- t1:TCP,单套接字
- tn:TCP,每次调用单套接字
- l1:TLS,单套接字
- ln:TLS,每次调用单套接字
- s1:SCTP,单套接字(默认)
- sn:SCTP,每次调用单套接字
- c1:u1 + 压缩(仅当加载了压缩插件时)
- cn:un + 压缩(仅当加载了压缩插件时)。sipp 不提供此插件。
sipp 192.168.174.5:5060 -sn uac -t u1
sipp 192.168.174.5:5060 -sn uac -t un
sipp 192.168.174.5:5060 -sn uac -t ui ip.txt
sipp 192.168.174.5:5060 -sn uac -t t1
sipp 192.168.174.5:5060 -sn uac -t tn
sipp 192.168.174.5:5060 -sn uac -t l1
sipp 192.168.174.5:5060 -sn uac -t ln
sipp 192.168.174.5:5060 -sn uac -t s1
sipp 192.168.174.5:5060 -sn uac -t sn
sipp 192.168.174.5:5060 -sn uac -t c1
sipp 192.168.174.5:5060 -sn uac -t cn
85. -timeout
全局超时。默认单位为秒。如果设置了此选项,SIPp 将在 nb 个单位后退出(-timeout 20s 表示在 20 秒后退出)。
86. -timeout_error
如果设置了全局超时,SIPp 将失败。(-timeout 选项是必需的)。
87. -timer_resol
设置计时器分辨率。默认单位为毫秒。
此选项会影响计时器的精度。较小的值允许更精确的调度,但会影响 CPU 使用率。如果启用了压缩,则该值设置为 50 毫秒。默认值为 10 毫秒。
88. -T2
全局 T2 计时器(以毫秒为单位)
sipp 192.168.174.5:5060 -sn uac -timeout 20s -timeout_error -timer_resol 50 -T2 200
89. -sendbuffer_warn
SendBuffer 失败时生成警告而不是错误。
90. -trace_msg
在 <scenario file name>_<pid>_messages.log 中显示已发送和已接收的 SIP 消息。
91. -trace_shortmsg
在 <scenario file name>_<pid>_shortmessages.log 中以 CSV 格式显示已发送和已接收的 SIP 消息。
sipp 192.168.174.5:5060 -sn uac -sendbuffer_warn true -trace_msg -trace_shortmsg
92. -trace_screen
退出 SIPp 时,将统计屏幕转储到 <scenario_name>_<pid>_screens.log 文件中。可用于在后台模式下获取最终状态报告(-bg 选项)。
93. -trace_err
在 <scenario file name>_<pid>_errors.log 中跟踪所有意外消息。
94. -trace_calldebug
将中止调用的调试信息转储到 <scenario_name>_<pid>_calldebug.log 文件中。
95. -trace_stat
将所有统计信息转储到 <scenario_name>_<pid>.csv 文件中。使用“-h stat”选项可查看统计文件内容的详细说明。
96. -trace_counts
将单个消息计数转储到 CSV 文件中。
97. -trace_rtt
允许跟踪 <scenario file name>_<pid>_rtt.csv 中的所有响应时间。
98. -trace_logs
允许跟踪 <scenario file name>_<pid>_logs.log 中的 <log> 个操作。
sipp 192.168.174.5:5060 -sn uac -trace_screen -trace_err -trace_calldebug -trace_stat -trace_counts -trace_rtt -trace_logs
99. -users
不是以固定频率启动调用,而是在启动时开始“users”调用,并保持调用次数恒定。
100. -watchdog_interval
设置看门狗定时器触发间隔。默认值为 400。
101. -watchdog_reset
如果看门狗定时器在超过此时间间隔后未触发,则重置最大触发计数器。默认值为 10 分钟。
102. -watchdog_minor_threshold
如果看门狗执行间隔超过此时间间隔,则计为一次次要触发。默认值为 500。
103. -watchdog_major_threshold
如果看门狗执行间隔超过此时间间隔,则计为一次主要触发。默认值为 3000。
104. -watchdog_major_maxtriggers
在测试终止前,主要看门狗定时器可以触发的次数。默认值为 10。
105. -watchdog_minor_maxtriggers
次要看门狗定时器在测试终止前可以触发的次数。默认值为 120。
sipp 192.168.174.5:5060 -sn uac -users 20 -watchdog_interval 400 -watchdog_reset 10m -watchdog_minor_threshold 500 -watchdog_major_maxtriggers 10 -watchdog_minor_maxtriggers 120
106. -3pcc
以 3pcc 模式(“第三方呼叫控制”)启动工具。传递的 IP 地址取决于 3PCC 角色。
- 当第一个 twin 命令为“sendCmd”时,这是远程 twin 套接字的地址。SIPp 将尝试连接到此地址:端口以发送 twin 命令。(此实例必须在所有其他 3PCC 场景之后启动)。
示例:3PCC-C-A scenario。
- 当第一个 twin 命令为“recvCmd”时,这是本地 twin 套接字的地址。SIPp 将打开此地址:端口以监听 twin 命令。
示例:3PCC-C-B scenario。
启动 A 方(模拟 UAS)
sipp -sn 3pcc-A -slave 1 -slave_cfg slave.cfg -i 192.168.174.3 -p 5060启动 B 方(模拟 UAC)
sipp -sn 3pcc-B -slave 2 -slave_cfg slave.cfg -i 192.168.174.4 -p 5061启动控制器(中控)
sipp -sn 3pcc-C-A -3pcc 127.0.0.1:5678 -slave_cfg slave.cfg -i 192.168.174.134 -p 5062
107 .-tdmmap
生成并处理 TDM 电路表。必须有可用的电路才能拨打电话。
格式:-tdmmap {0-3}{99}{5-8}{1-31}
108. -key
关键字值。将名为“keyword”的通用参数设置为“value”。
109. -set
变量值。将名为“variable”的全局变量参数设置为“value”。
110. -dynamicStart
变量值。设置 dynamic_id 变量的起始偏移量
111. -dynamicMax
变量值。设置 dynamic_id 变量的最大值
112. -dynamicStep
变量值。设置 dynamic_id 变量的增量
sipp 192.168.174.5:5060 -sn uac -tdmmap {0-1}{01}{1-2}{1-3} -key keyvalue -set set -dynamicStart 1 -dynamicMax 10 -dynamicStep 2
信号处理
SIPp 可以使用 posix 信号进行控制。以下信号会被处理:
USR1:类似于按下键盘上的“q”键。它会触发 SIPp 的软退出。在 SIPp 退出之前,不会再拨打任何新通话,并且所有正在进行的通话都会结束。
示例:kill -SIGUSR1 732
USR2:触发转储所有统计信息屏幕到 <scenario_name>_<pid>_screens.log 文件。在后台模式下尤其有用,可以了解当前状态。
示例:kill -SIGUSR2 732
退出代码
退出时(发生致命错误或达到请求的调用次数(-m 选项)时),sipp 将退出并返回以下退出代码之一:
0:所有调用均成功
1:至少有一个调用失败
97:因内部命令退出。调用可能已处理
99:正常退出,未处理调用
-1:致命错误
-2:绑定套接字时发生致命错误
综合使用
使用嵌入式服务器(-sn uas)场景运行 sipp
sipp -sn uas
在同一主机上,在嵌入式客户端 (UAC) 场景下运行 sipp
sipp -sn uac 127.0.0.1
可以通过按下 +,-,*,/ 键调整频率,按两次 q 键可以退出,按 p 键可以暂停,再次按 p 键可以恢复进度。
总结
SIPp 是一款功能强大且高度可定制的 SIP 协议测试工具,广泛应用于 VoIP 系统的性能压测与功能验证。它不仅支持构建灵活的呼叫流程脚本,还可模拟数千个并发用户,从而对 SIP 服务器、代理及终端设备的处理能力进行全面评估。在实际应用中,SIPp 能帮助开发者和安全人员发现通信流程中的潜在瓶颈与异常行为,是构建自动化测试体系和进行协议安全研究的重要工具之一。熟练掌握 SIPp 的使用,将显著提升在通信安全与系统优化方面的效率和深度。
在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。
欢迎各位大佬,小白来找我交流。