一、介绍
hping3 是一个非常强大的网络数据包构造与测试工具,常用于网络安全、渗透测试、链路诊断、防火墙测试等场景。
1、可以发送自定义 ICMP/UDP/TCP 数据包,并显示目标回复。它处理分片和任意大小的数据包,并可用于在支持的协议下传输文件。
2、测试防火墙规则,执行端口扫描,使用不同协议测试网络性能,进行路径 MTU 发现,执行不同协议下的跟踪路由操作,识别远程操作系统指纹,审计 TCP/IP 栈等
二、安装
yum install hping3 -y
三、使用方法
hping3 host [options]
全部参数
一、基础参数(Basic Options)
| 参数 |
英文含义 |
中文解释 |
-h / --help |
show help |
显示帮助 |
-v / --version |
show version |
显示版本 |
-c / --count |
packet count |
发送数据包数量 |
-i / --interval |
wait interval |
发送间隔(µs) |
--fast |
10 packets/sec |
每秒10包 |
--faster |
100 packets/sec |
每秒100包 |
--flood |
send as fast as possible |
洪泛模式(极限发送,不显示响应) |
-n / --numeric |
numeric output |
数字形式输出(不解析域名) |
-q / --quiet |
quiet mode |
安静模式 |
-I / --interface |
interface name |
指定网卡 |
-V / --verbose |
verbose mode |
详细输出 |
-D / --debug |
debug info |
调试信息 |
二、模式选择(Mode)
| 参数 |
模式 |
说明 |
| (default) |
TCP mode |
默认 TCP 模式 |
-0 / --rawip |
RAW IP |
原始 IP 包 |
-1 / --icmp |
ICMP |
ping 模式 |
-2 / --udp |
UDP |
UDP 包模式 |
-8 / --scan |
scan |
端口扫描模式 |
-9 / --listen |
listen |
监听模式 |
📌 示例:
hping3 -1 8.8.8.8
三、IP 层参数(IP Layer)
| 参数 |
含义 |
中文解释 |
-a |
spoof source address |
伪造源IP |
--rand-dest |
random dest IP |
随机目标IP |
--rand-source |
random source IP |
随机源IP |
-t |
TTL |
生存时间 |
-N |
IP ID |
IP标识 |
-W |
winid |
特殊ID格式 |
-r |
rel ID |
相对ID(流量分析) |
-f |
frag |
分片 |
-x |
morefrag |
更多分片 |
-y |
dontfrag |
不允许分片 |
-g |
frag offset |
分片偏移 |
-m |
MTU |
虚拟MTU |
-o |
TOS |
服务类型 |
-G |
record route |
记录路由 |
--lsrr |
loose source routing |
宽松源路由 |
--ssrr |
strict source routing |
严格源路由 |
-H |
ip protocol |
IP协议字段 |
四、ICMP 参数
| 参数 |
含义 |
中文解释 |
-C |
icmp type |
ICMP类型 |
-K |
icmp code |
ICMP代码 |
--force-icmp |
force all types |
强制所有ICMP类型 |
--icmp-gw |
gateway |
ICMP重定向网关 |
--icmp-ts |
timestamp |
时间戳请求 |
--icmp-addr |
subnet mask |
子网掩码请求 |
--icmp-help |
help |
ICMP帮助 |
五、TCP / UDP 参数
| 参数 |
含义 |
中文解释 |
-s |
base port |
源端口 |
-p |
dest port |
目标端口 |
-k |
keep port |
固定源端口 |
-w |
window size |
TCP窗口大小 |
-O |
tcp offset |
TCP偏移 |
-Q |
seq show |
显示序列号 |
-b |
bad checksum |
错误校验 |
-M |
set seq |
设置TCP序列号 |
-L |
set ack |
设置ACK |
-F |
FIN |
FIN标志 |
-S |
SYN |
SYN标志 |
-R |
RST |
RST标志 |
-P |
PUSH |
PUSH标志 |
-A |
ACK |
ACK标志 |
-U |
URG |
URG标志 |
-X |
XMAS |
XMAS扫描 |
-Y |
YMAS |
非标准标志 |
--tcpexitcode |
exit code |
用TCP flag作为退出码 |
--tcp-timestamp |
timestamp option |
TCP时间戳 |
六、数据内容(Payload)
| 参数 |
含义 |
中文解释 |
-d |
data size |
数据大小 |
-E |
file |
从文件读数据 |
-e |
sign |
添加签名 |
-j |
hex dump |
16进制输出 |
-J |
print |
可打印字符 |
-B |
safe mode |
安全模式 |
-u |
EOF detect |
文件结束提示 |
七、Traceroute / 跟踪模式
| 参数 |
含义 |
中文解释 |
-T |
traceroute |
跟踪路由 |
--tr-stop |
stop early |
收到非ICMP停止 |
--tr-keep-ttl |
fixed TTL |
固定TTL |
--tr-no-rtt |
no RTT |
不计算延迟 |
📌 示例:
hping3 -T -1 8.8.8.8
八、APD(高级协议描述)
| 参数 |
含义 |
中文解释 |
--apd-send |
send APD packet |
发送自定义协议包 |
四、常用命令
SYN 探测端口是否开放
hping3 -S -p 80 192.168.1.1
伪造源 IP
hping3 -S -p 80 -a 1.2.3.4 192.168.1.1
监听网络包
hping3 -9 eth0
使用随机端口快速向192.168.0.101的80端口发送syn握手请求,但不建立tcp连接(半连接攻击)
hping3 -S -P -U -p 80 --flood --rand-source 192.168.0.101
使用50000端口向192.168.1.101的8000端口快速发送大小为100字节的udp数据包(udp攻击)
hping3 --udp -s 50000 -p 8000 -d 100 --flood 192.168.1.101