当前位置: 首页 > web >正文

深入解析 hping3网络探测与测试利器

一、什么是 hping3?

  • 体量轻巧:安装包仅约 255 KB。
  • 协议多样:支持 TCP、UDP、ICMP、RAW IP 四种模式。
  • 灵活定制:可设置任意报文头、分片、Payload 长度;还支持伪造源地址、随机目标等高级操作。
  • 脚本化:集成 Tcl 解释器,可编写脚本自动完成复杂任务。

应用场景包括:

  1. 防火墙规则测试
  2. (伪造)端口扫描
  3. 不同协议下的网络性能基准测试
  4. Path MTU 探测
  5. 多协议“Traceroute”
  6. 操作系统 TCP/IP 栈指纹识别
  7. 网络攻击面审计

二、安装与依赖

在 Debian/Ubuntu、Kali 等发行版下,直接使用 APT 即可安装:

sudo apt update
sudo apt install -y hping3

安装完成后,可通过 hping3 -V 查看版本,或 hping3 -h 查看帮助:

root@kali:~# hping3 -V
hping3 version 3.0.0root@kali:~# hping3 -h
usage: hping3 host [options]-h  --help      show this help-v  --version   show version-c  --count     packet count-i  --interval  wait (uX for X microseconds, for example -i u1000)--fast      alias for -i u10000 (10 packets/sec)--faster    alias for -i u1000  (100 packets/sec)--flood         send packets as fast as possible, without showing replies-n  --numeric   numeric output-q  --quiet     quiet-I  --interface interface name-V  --verbose   verbose-D  --debug     debugging--beep          beep for each matching replyModes:(default) TCP   -0 RAW IP   -1 ICMP   -2 UDP-8 --scan [ports]    SCAN mode (e.g. `-8 1-1024`)-9 --listen          LISTEN modeIP options:-a --spoof      spoof source address--rand-dest     random destination--rand-source   random source-t --ttl        set TTL (default 64)-f --frag       fragment packets-x --morefrag   set “more fragments” flag-y --dontfrag   set “don’t fragment” flag-g --fragoff    set fragment offset-m --mtu        set virtual MTU (implies --frag)-o --tos        type of service-G --rroute     include Record Route option--lsrr          loose source routing

三、基本用法示例

1. 类似 ping 的 ICMP 探测

hping3 -1 www.example.com
  • -1:ICMP 模式
  • 默认每秒发送一次“Echo Request”,并显示 RTT

2. Traceroute 模式

hping3 --traceroute -V -1 www.example.com
  • --traceroute:自动递增 TTL,模拟多跳探测
  • -V:显示详细调试信息
  • -1:ICMP 模式

示例输出:

using eth0, addr: 192.168.1.15, MTU: 1500
HPING www.example.com (eth0 93.184.216.119): icmp mode set, 28 headers + 0 data bytes
hop=1  TTL 0 during transit from ip=192.168.1.1 name=UNKNOWN  hoprtt=0.3 ms
hop=2  TTL 0 during transit from ip=192.168.0.1 name=UNKNOWN  hoprtt=3.3 ms
...

四、常见场景与参数详解

1. 防火墙策略测试

验证对特定端口或协议的阻断规则

# 测试 TCP 80 端口是否被过滤
hping3 -S -p 80 --flood www.example.com
  • -S:发送 TCP SYN
  • -p 80:目标端口 80
  • --flood:尽可能快地发送,不打印回复

如果无法收到回复,表示 SYN 被丢弃或被重置。

2. 端口扫描 (SCAN 模式)

hping3 --scan 1-1024 -S www.example.com
  • --scan 1-1024:扫描端口 1 到 1024
  • -S:TCP SYN

开放端口会收到 SYN+ACK,应答会被打印。

3. Path MTU 探测

# 强制分片,探测 MTU 边界
hping3 -1 -d 2000 --mtu 1500 --frag www.example.com
  • -d 2000:数据长度 2000 字节
  • --mtu 1500:虚拟 MTU 1500
  • --frag:分片

通过逐步减小数据长度,可定位路径中最小 MTU。

4. 操作系统指纹识别

hping3 -1 -c 1 -V --ttl 64 www.example.com
  • 观察 ICMP 时间戳、TTL 初始值、窗口大小等差异
  • 结合脚本化分析,可识别常见操作系统

五、高级技巧与脚本化

hping3 嵌入 Tcl 解释器,适合编写自动化测试脚本:

#!/usr/bin/hping3
# File: fw-test.tcl# 定义目标列表
set targets {www.example.com 10.0.0.5 192.168.1.100}foreach t $targets {puts "Testing $t..."hping3 -S -p 22 -c 5 $tputs "\n"
}

以上脚本依次对所有目标的 22 端口发送 5 个 SYN,再输出结果。

六、总结

  • 安装简单sudo apt install hping3
  • 模式丰富:TCP/UDP/ICMP/RAWIP,SCAN、TRACEROUTE、LISTEN 等多种模式
  • 参数灵活:支持报文分片、伪造源地址、路径记录、TOS、TTL 调优等
  • 脚本驱动:内置 Tcl,可实现复杂自动化流程

无论是网络性能测试、漏扫检测,还是防火墙策略验证,hping3 都能胜任。建议在实验环境中多加练习,并结合自身脚本或 CI/CD 流程,构建一套完善的网络安全与性能测试体系。

参考资料

  • hping3 官方文档与源码
  • Kali Linux 包管理 (APT)
  • “TCP/IP Illustrated” 网络协议详解书籍
http://www.xdnf.cn/news/7673.html

相关文章:

  • 海外盲盒系统开发:重构全球消费体验的科技引擎
  • LangChain4j入门(六)整合提示词(Prompt)
  • 软考 系统架构设计师系列知识点之杂项集萃(64)
  • 2025年红帽认证考试要求全解析
  • AUTOSAR图解==>AUTOSAR_SRS_SPALGeneral
  • 智能事件分析边缘服务器:交通管理与安全监测的利器
  • 图表组件库TeeChart Pro VCL/FMX :简化复杂数据处理的可视化利器
  • Vue之入门(Vue是什么以及Vue工作原理)
  • 服装收银系统哪个好?服装店进销存管理软件全面评测
  • 程序设计实践--排序(1)
  • MySQL底层专题之索引数据结构和存储引擎
  • JVM-运行时数据区
  • 飞桨paddle ‘ParallelEnv‘ object has no attribute ‘_device_id‘【已解决】
  • 【MySQL】03.库操作与表操作
  • 大模型的说谎行为
  • Python _day31
  • 在 Win 10 上,Tcl/Tk 脚本2个示例
  • 《算法笔记》11.8小节——动态规划专题->总结 问题 B: 拦截导弹
  • 【数据结构 -- AVL树】用golang实现AVL树
  • 中间件-seata
  • 在innovus中如何设置让信号线打上双孔
  • DEBUG:Lombok 失效
  • Java转Go日记(四十三):Gorm事务
  • Maven 项目打包时添加本地 Jar 包
  • DAY28 超大力王爱学Python
  • CYT4BB Dual Bank 1 - 存储机制
  • t检验详解:原理、类型与应用指南
  • 什么是物联网 (IoT):2024 年物联网概述
  • 使用Mathematica绘制一类矩阵的特征值图像
  • Spring AI 介绍