hping3网络工具详解使用
0或--rawip模式是 hping3 中最底层、最灵活的操作模式,它允许你直接构造和发送原始IP数据包,完全绕过传输层(TCP/UDP/ICMP等)协议头。常规网络数据包结构:│应用层数据 (Payload)││传输层头部 (TCP/UDP/ICMP头)│ ← 普通模式操作这一层。
hping3的介绍与安装请参考上一篇文章:《网络测试工具hping3安装与简单使用》
1.hping3 的本质
hping3 是一个命令行下的原始套接字(raw socket)数据包生成器,它允许用户在用户空间直接构造和发送几乎任意类型的网络数据包,绕过操作系统的 TCP/IP 协议栈常规处理流程。
2.hping3常用功能
软件功能非常强大,在这里只进行常用功能举例,有兴趣去的可以通过hping3 -h查看该工具的帮助手册。
软件支持多种模式:
Mode
default mode TCP #默认tcp
-0 --rawip RAW IP mode #自定义模式
-1 --icmp ICMP mode #icmp
-2 --udp UDP mode #udp
-8 --scan SCAN mode. #扫描
Example: hping --scan 1-30,70-90 -S www.target.host
-9 --listen listen mode #监听模式
默认模式是tcp模式,当我直接hping3一个地址时,对端收到一条随机源端口号发来的tcp包
hping3 -c 1 192.168.1.1
1. icmp ping
-c 指定次数,-1采用icmp包,在对端可以接收到一条icmp数据包,也可以增加选项-i增加间隔时间
hping3 -1 -c 1 192.168.1.1
hping3 -1 -c 1 -i 2 192.168.1.1 #指定间隔时间

也可以对icmp头部进行定制:
# ICMP 类型和代码
-C, --icmptype <type> 设置ICMP类型
-K, --icmpcode <code> 设置ICMP代码
# 常用ICMP类型:
# 0 = Echo Reply, 8 = Echo Request
# 3 = Destination Unreachable
# 11 = Time Exceeded
# 13、14 时间戳请求与英达
例如时间戳请求:
hping3 -1 -C 13 -K 0 192.168.1.1

2.TCP ping
使用tcp syn包进行ping,-s使用syn包 -s指定源端口 -p 指定目的端口
hping3 -S -s 1500 -p 80 -c 3 192.168.1.1

tcp syn扫描(半开放),扫描对端80端口是否打开,如果flags返回SA表示端口开放
hping3 -S 192.168.1.1 -p 80

tcp头部定制:
# TCP 标志位控制(可以组合使用)
-S, --syn SYN=1(建立连接)
-A, --ack ACK=1(确认)
-R, --rst RST=1(重置)
-F, --fin FIN=1(结束)
-P, --push PSH=1(推送)
-U, --urg URG=1(紧急)
# TCP 序号控制
-M, --tcpseq <seq> 设置TCP序列号
-L, --tcpack <ack> 设置TCP确认号
-Q, --seqnum 显示原始序列号
# 窗口大小和数据偏移
-w, --win <size> 设置窗口大小(默认64)
-O, --tcpoff <offset> 设置数据偏移(默认5)
示例1:发送Xmas扫描
hping3 -S -A -F -P -R -U -p 80 192.168.1.1

示例2:发送特定TCP序列号的包
hping3 -S -p 80 -M 0x12345678 -L 0 192.168.1.1

3.自定义模式
-0 或 --rawip 模式是 hping3 中最底层、最灵活的操作模式,它允许你直接构造和发送原始IP数据包,完全绕过传输层(TCP/UDP/ICMP等)协议头。
常规网络数据包结构:
┌─────────────────────────────────┐
│ 应用层数据 (Payload) │
├─────────────────────────────────┤
│ 传输层头部 (TCP/UDP/ICMP头) │ ← 普通模式操作这一层
├─────────────────────────────────┤
│ 网络层头部 (IP头) │ ← -0模式从这一层开始构造
├─────────────────────────────────┤
│ 数据链路层头部 (以太网头) │
└─────────────────────────────────┘
-0 模式的数据包结构:
┌─────────────────────────────────┐
│ 自定义数据 │
├─────────────────────────────────┤
│ IP头部(包含自定义协议号) │ ← 从这里开始完全控制
├─────────────────────────────────┤
│ 数据链路层头部 │
└─────────────────────────────────┘
明天继续写
更多推荐



所有评论(0)