默认安装的Ubuntu少几个关键的库,需要apt-get install以下几个包

libpcap-dev

libssl-dev

ncurses-dev

 

为了支持多IP并发(打开大于1024个端口),还需要做如下修改:

将/usr/include/bits/typesizes.h 文件里的FD_SETSIZE 1024 改成FD_SETSIZE 65535

再把默认目录下sipp.hpp中的FD_SETSIZE改成65535

 

另外,除了FD_SETSIZE的限制,貌似还有File Descriptors的限制。也要修改一下:

对于Ubuntu系统,要修改这几个地方:

编辑/etc/security/limits.conf

在最后加上

*                soft    nofile          65535

* hard nofile         65535

再编辑/etc/pam.d/common-session

加上session required    pam_limits.so

再执行ulimit -n 65535

另外,查看/proc/sys/fs/file-max这个文件中的数值,如果小于65535,也要改大。

我的文件默认是201209,够大了。

做完这些操作要重启(或者重新登陆一下)。也有说法貌似只做ulimit那一步就可以?最后再编译sipp,如果你已经编译过了,就先make clean一下,然后再重新编译。

 

另外,还有一种说法是修改/etc/sysctl.conf
增加
fs.file-max = 331287

然后执行
~# sysctl -p ~# fs.file-max = 331287

这个不知道管不管用。

 

然后再编译

执行make pcapplay_ossl编译即可

 

否则会提示Warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE = 1024

运行的时候遇到Unable to get a UDP socket (3),也是这个毛病。

 

最后在~/.bashrc最后加上PATH=sipp的安装地址:$PATH加入到路径中

文章版权:杜斟的个人博客 - 个人技术分享

本文链接:http://mcat.cc/index.php/archives/482/

转载请注明文章原始出处 !

添加新评论

返回顶部