centos 7下hping3的编译安装和测试

        最新由于调试测试ipv4到ipv6过渡技术中的map技术需要,需要一个工具模拟发送icmp、tcp和udp的ipv4报文,尤其是分片报文,可是环境所限,没有接入思博伦测试仪,所以我就想到了hping3测试工具。

1.hping3下载:

        hping的工具官方网站是http://www.hping.org/download.html,大家可以到官方网站溜达一圈看看,可以到官网下载压缩包拷贝到本地,也可以wget http://www.hping.org/hping3-20051105.tar.gz下载到本地;

如果wget下载是出现下面的问题:

在/etc/resolv.conf里加入nameserver 114.114.114.114这个是电信的dns服务器地址;

2.hping3编译安装

tar zxvf hping3-20051105.tar.gz

cd hping3-20051105/

./configure

make

make install

在这个配置和编译安装过程中会发现如下问题,咱们一个一个解决;

1. build byteorder.c时出现如下错误

因为我的centos7虚机镜像是3.10.0-229.el7.x86_64,64位的操作系统:

而bytesex.h没有对64位的支持

所以我们需要加上defined(__x86_64__)来支持64位的系统环境下编译:

2. main.c:29:18: fatal error: pcap.h: No such file or directoryX

我们缺少pcap库,安装yum install -y libpcap libpcap-devel

3. libpcap_stuff.c:20:21: fatal error: net/bpf.h: No such file or directory

创建一个软链接:

ln -sf /usr/include/pcap-bpf.h /usr/include/net/bpf.h,

我们查看pcap-bpf.h文件,其实它包含的

也就是/usr/include/pcap/bpf.h头文件。

4. cannot find -ltcl

我们需要安装tcl库,yum -y install tcl tcl-devel

5. Can't install the man page: /usr/local/confd/man/man8 does not exist

有可能环境没有/usr/local/confd/man8目录,我们可以手动创建此目录,或者自己修改脚本实现(我们需要把INSTALL_MANPATH改为/usr/local/confd/man)

OK,到此为止hping3就已经安装完毕了,我们就可以hping3 -h或者man hping3查看使用方法了,为了方便测试,我自己写了一个shell脚本模拟不停发送icmp、tcp和udp的报文:

每隔5秒就想目的地址发送一个icmp、tcp和udp的报文,后续有时间对hping3的测试展开详细分析。

猜你喜欢

转载自blog.csdn.net/yangrendong/article/details/88943062