hping是一种网络工具,用于创建或生成网络数据包,以测试网络、服务或系统性能。hping是一个由不同实体开发的旧工具,以hping2或hping3等新版本命名。在大多数情况下,您可以使用操作系统提供的命令,可以是hping、hping2或hping3。hping名称是从ping命令名派生的。hping3由SalvatoreSanflippo开发,并获得GPL3许可。
hping功能
hping支持TCP、UDP、ICMP、raw-IP等协议用于不同的用例。通过使用它,我们可以创建具有不同选项的不同协议包。
- 创建原始IP数据包
- 指定生成的数据包计数
- 设置包发送间隔
- 指定传输网络接口
- 创建和生成TCP数据包
- 创建和生成UDP数据包
- 创建和生成IP数据包
- 创建和生成ICMP数据包
- 设置MTU值
- 设置碎片并创建碎片或未碎片的数据包
- 设置数据包的有效负载或数据大小
为什么使用hping命令?
通过其advende特性和公共协议支持,hping命令可以用于以下不同的情况。
- DOS(拒绝服务)和DDOS(分布式拒绝服务)攻击仿真
- 测试防火墙和TCP、UDP、IP等协议的防火墙配置
- 详细的高级TCP和UDP端口扫描
- 测试网络设备的不同配置,如碎片、MTU等。
- 用于列出中间主机的高级跟踪路由
- 远程操作系统指纹识别和检测
- 远程正常运行时间决策
- TCP/IP协议实现与栈测试审计
为Ubuntu、Kali、Debian、Mint安装hping3
hping是由Ubuntu、Kali、Debian和Mint提供的,但名称不同。对于这些基于deb的发行版,包被命名为hping3。因此,我们将使用以下命令安装hping3包。
$ sudo apt install hping3
![图片[1]-hping/hping2/hping3网络包生成器教程-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/wisetut_image-34.png)
安装完成后,我们可以使用-v选项检查hping3命令,如下所示。v选项用于显示版本信息。
$ hping3 -v
如果我们尝试使用hping命令,我们将得到以下错误。
$ hping
Command 'hping' not found, but there are 14 similar ones.
为CentOS、Fedora、RHEL安装hping3
基于rpm的分布式系统,如CentOS、Fedora、RHEL为hping提供了hping3的名称。对于这些发行版,可以使用以下命令安装hping3包。
$ sudo yum install hping3
安装hping For Windows
hping命令也为Windows操作系统提供。但由于hping主要是为Linux操作系统创建的,其源代码较低,因此windows版本通常不会定期更新。hping的最新版本是版本2,也称为hping2,可以从以下链接下载。
http://www.hping.org/hping2.win32.tar.gz
显示hping3命令帮助信息和支持的协议
hping3是一个非常高级的命令,有很多特性、选项和参数等。所有这些帮助信息都可以用-h参数列出,如下所示。
$ hping3 -h
![图片[2]-hping/hping2/hping3网络包生成器教程-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/wisetut_image-35.png)
Traceroute hping3命令
hping3命令提供traceroute特性,用于标识源和目标之间的中间主机。这个 –示踪路线 将提供选项。还有 -五-1 提供用于打印有关traceroute的详细信息的选项。追踪路线完成后,目标将被连续ping。
$ hping3 --traceroute -v -1 www.wisetut.com
![图片[3]-hping/hping2/hping3网络包生成器教程-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/wisetut_image-36.png)
使用hping3命令进行DOS和Flood
hping3命令常用于模拟DDOS攻击。泛洪操作将生成数据包,并用尽可能多的数据包泛洪目标。这个 –洪水 提供选项来创建洪水和 -第 选项用于设置泛洪的远程端口号。这个 -S码 选项用于设置TCP协议的泛洪类型,即同步泛洪。
$ sudo hping3 -S --flood -p 80 www.wisetut.com