hping3全参数详细教程. Kali Linux入门教程. 黑客渗透测试
hping3 是一款功能强大的网络工具,可用于安全测试、数据包构造和网络诊断。通过灵活的参数设置,用户能够精确控制数据包行为,满足多样化需求,是网络研究与安全测试中的重要工具。
简介
hping3 是一个网络工具,能够发送自定义 TCP/IP 数据包并显示目标回复,就像 ping 程序处理 ICMP 回复一样。它处理 分段和任意数据包主体和大小,并且可用于 根据支持的协议传输文件。使用hping3,可以测试防火墙规则,执行(欺骗)端口扫描,测试网络使用不同协议的性能,进行路径 MTU 发现,执行不同协议下类似traceroute的动作,指纹远程操作系统、审核 TCP/IP 堆栈等。hping3 可编写脚本使用Tcl语言。
hping3 处理碎片、任意数据包主体和大小,并可用于传输封装在受支持协议下的文件。使用 hping3,您至少可以执行以下任务:
- 测试防火墙规则
- 高级端口扫描
- 使用不同的协议、数据包大小、TOS(服务类型)和碎片测试网络性能。
- 路径 MTU 发现
- 甚至可以在真正的 fascist 防火墙规则之间传输文件。
- 在不同协议下进行类似 Traceroute 的操作。
- 类似 Firewalk 的使用。
- 远程操作系统指纹识别。
- TCP/IP 堆栈审计。
- 许多其他功能。
它也是学习 TCP/IP 的良好教学工具。 hping3 由 antirez@invece.org 开发和维护,并根据 GPL 版本 2 获得许可。
安装
Kali Linux 默认安装好 hping3 工具,也可以通过以下命令进行安装
sudo apt install hping3
使用
基本选项
1. -h --help
显示此帮助
hping3 -h
2. -v --version
显示用于访问数据链路层、Linux sock 数据包或 libpcap 的版本信息和 API。
hping3 -v
3. 常规使用
用法:hping3 host [options],通过Ctrl + C 停止运行。
hping3 192.168.174.145
4. -c --count
发送(和接收)count 个响应数据包后停止。发送最后一个数据包后,hping3 等待COUNTREACHED_TIMEOUT秒目标主机回复。您可以编辑 hping2.h 来调整 COUN‐TREACHED_TIMEOUT
hping3 192.168.174.145 -c 5
5. -i --interval
在发送每个数据包之间等待指定的秒数或微秒数。 --interval X 将等待时间设置为 X 秒,--interval uX 将等待时间设置为 X 微秒。默认值是在每个数据包之间等待一秒钟。使用 hping3 传输文件时,调整此选项对于提高传输速率非常重要。即使使用 hping3 执行空闲/欺骗扫描,您也应该调整此选项,有关更多信息,请参阅 HPING3-HOWTO。
hping3 192.168.174.145 -c 5 -i 10
6. --fast
-i u10000 的别名(每秒 10 个数据包)。Hping 每秒将发送 10 个数据包。
hping3 192.168.174.145 -c 5 --fast
7. --faster
-i u1000 的别名(每秒 100 个数据包)。比 --fast 更快;)(但由于信号驱动设计,速度不如您的计算机发送数据包的速度快)。
hping3 192.168.174.145 -c 5 --faster
8. --flood
尽可能快地发送数据包,而不注意显示传入的回复。这比指定 -i u0 选项要快得多。
hping3 192.168.174.145 --flood
通过上图我们可以看到发送了625487个数据包。在我们的靶机Ubuntu可以看到接收的数据包信息。可见每秒接收 2.6MiB/s ,这个流量不是很大。对靶机造成不了多大的影响。
9. -n --numeric
仅数字输出,不会尝试查找主机地址的符号名称。
hping3 192.168.174.145 -c 5 -n
10. -q --quiet
安静输出。除了启动时和完成时的摘要行外,不显示任何内容。
hping3 192.168.174.145 -c 5 -q
11. -I --interface interface name
默认情况下,在 Linux 和 BSD 系统上,hping3 使用默认路由接口。在其他系统中或没有默认路由时,hping3 使用第一个非环回接口。但是,您可以使用此选项强制 hping3 使用您需要的接口。注意:您不需要指定整个名称,例如 -I et 将匹配 eth0 ethernet0 myet1 等。如果没有匹配的接口,hping3 将尝试使用 lo。
hping3 192.168.174.145 -c 5 -I et
12. -V --verbose
启用详细输出。TCP 回复将显示如下:
len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0
rtt=0.4 ms tos=0 iplen=40 seq=0 ack=1380893504 sum=2010 urp=0
hping3 192.168.174.145 -c 5 -V
13. -D --debug
启用调试模式,当您遇到 hping3 问题时,此功能很有用。启用调试模式后,您将获得有关接口检测、数据链路层访问、接口设置、选项解析、碎片、HCMP 协议和其他内容的更多信息。
hping3 192.168.174.145 -c 5 -D
14. -z --bind
将 CTRL+Z 绑定到生存时间 (TTL),这样您就可以通过按一次或两次 CTRL+Z 来增加/减少传出数据包的 TTL。
hping3 192.168.174.145 -c 5 -z
15. -Z --unbind
解除 CTRL+Z 的绑定,这样您就可以停止 hping3。
hping3 192.168.174.145 -c 5 -Z
16. --beep
收到每个匹配的数据包时发出蜂鸣声(但不针对 ICMP 错误)。
hping3 192.168.174.145 -c 5 --beep
协议选项
默认协议为 TCP,默认情况下,hping3 将发送 tcp 标头到目标主机的端口 0,其 winsize 为 64,且不启用任何 tcp 标志。通常,这是执行“隐藏 ping”的最佳方式,当目标位于丢弃 ICMP 的防火墙后面时非常有用。此外,端口 0 的 tcp 空标志很可能不会被记录。
17. -0 --rawip
RAW IP 模式,在此模式下,hping3 将发送 IP 标头,其中数据附加有 --signature 和/或 --file,另请参阅 --ip‐proto,它允许您设置 ip 协议字段。
hping3 192.168.174.145 -c 5 -0
18. -1 --icmp
ICMP 模式,默认情况下,hping3 将发送 ICMP echo-request,您可以使用 --icmptype --icmpcode 选项设置其他 ICMP 类型/代码。
hping3 192.168.174.145 -c 5 -1
19. -2 --udp
UDP 模式,默认情况下,hping3 将向目标主机的端口 0 发送 udp。UDP 标头可调选项如下:--baseport、--destport、--keep。
hping3 192.168.174.145 -c 5 -2
20. -8 --scan
扫描模式,该选项需要一个描述要扫描的端口组的参数。端口组以逗号分隔:一个数字仅描述一个端口,因此 1,2,3 表示端口 1、2和 3。范围使用开始-结束符号指定,如1-1000,告诉 hping 扫描 1 到 1000 之间的端口(含)。特殊词 all 是 0-65535 的别名,而特殊词 known 包括 /etc/services 中列出的所有端口。
组可以组合,因此以下命令行将扫描 1 到 1000 之间的端口和端口 8888 以及 /etc/services 中列出的端口:
hping --scan 1-1000,8888,known -S target‐get.host.com
可以使用 ! 对组取反(减去)。字符作为前缀,因此以下命令行将扫描 /etc/services 中未列出的 1-1024 范围内的所有端口:
hping --scan '1-1024,!known' -S target.host.com
请记住,虽然 hping 在这种模式下看起来更像是端口扫描器,但大多数 hping 开关仍然有效,例如,要执行 SYN 扫描,您需要指定 -S 选项,您可以更改 TCP 窗口大小、TTL、像往常一样控制 IP 碎片等等。唯一真正的区别是标准 hping 行为被封装到扫描算法中。
技术说明:扫描模式使用双进程设计,使用共享内存进行同步。扫描算法仍然不是最佳的,但已经相当快了。
提示:与大多数扫描器不同,hping 会显示一些有关接收数据包、IP ID、TCP win、TTL 等的有趣信息,执行扫描时不要忘记查看这些附加信息!有时它们会显示有趣的细节。
hping3 192.168.174.132 -c 5 -8 1-1000
hping3 192.168.174.132 -c 5 -8 all
hping3 192.168.174.132 -c 5 -8 1-1000,8888,known
21. -9 --listen signature
HPING3 监听模式,使用此选项 hping3 等待包含签名的数据包并从签名端转储到数据包端。例如,如果 hping3 --listen TEST 读取包含 234-09sdflkjs45-TESThello_world 的数据包,它将显示 hello_world。
hping3 -9 234-09sdflkjs45-TESThello_world
IP 相关选项
22. -a --spoof hostname
使用此选项可设置虚假 IP 源地址,此选项可确保目标不会获得您的真实地址。但是回复将被发送到欺骗地址,因此您将看不到它们。要了解如何执行欺骗/空闲扫描,请参阅 HPING3-HOWTO。
hping3 192.168.174.145 -c 5 -a 192.168.174.128
23. --rand-source
此选项启用随机源模式。hping 将发送具有随机源地址的数据包。使用此选项来强调防火墙状态表以及 TCP/IP 堆栈和防火墙软件内的其他基于 IP 的动态表是很有趣的。
hping3 192.168.174.145 -c 5 --rand-source
24. --rand-dest
此选项启用随机目标模式。hping 将根据您指定为目标主机的规则将数据包发送到随机地址。您需要指定一个数字 IP 地址作为目标主机,如 10.0.0.x。所有出现的 x 都将被替换为 0-255 范围内的随机数。因此,要获取整个 IPv4 空间中的 Internet IP 地址,请使用类似 hping x.x.x.x --rand-dest 的命令。如果您不确定规则生成的地址类型,请尝试使用 --debug 开关显示生成的每个新目标地址。打开此选项后,将接受来自所有目标的匹配数据包。
警告:启用此选项后,hping 无法检测到数据包的正确传出接口,因此您应该使用 --interface 选项来选择所需的传出接口。
hping3 192.168.174.145 -c 5 --interface eth0 --rand-dest
25. -t --ttl time to live
使用此选项,您可以设置传出数据包的 TTL(生存时间),您很可能会将其与 --traceroute 或 --bind 选项一起使用。如有疑问,请尝试“hping3 some.host.com -t 1 --traceroute”。
hping3 192.168.174.145 -c 5 -t 1
26. -N --id
设置 ip->id 字段。默认 id 是随机的,但如果启用了分片且未指定 id,则它将是 getpid() & 0xFFFF,要实现更好的解决方案,请参阅 TODO 列表。
hping3 192.168.174.145 -c 5 -N getpid
27. -H --ipproto
在 RAW IP 模式下设置 ip 协议。
hping3 192.168.174.145 -c 5 -H 192.168.174.134
28. -W --winid
Win2k 之前的 Windows* 系统的 id 具有不同的字节顺序,如果启用此选项,hping3 将正确显示来自这些 Windows 的 id 回复。
hping3 192.168.174.145 -c 5 -W
29. -r --rel
显示 id 增量而不是 id。有关更多信息,请参阅 HPING3-HOWTO。增量不是按 id[N]-id[N-1] 计算的,而是使用数据包丢失补偿。有关更多信息,请参阅 relid.c。
hping3 192.168.174.145 -c 5 -r
30. -f --frag
将数据包拆分成更多片段,这可能有助于测试 IP 堆栈碎片性能,并测试某些数据包过滤器是否太弱以至于可以使用微小的片段(不合时宜)传递。默认“虚拟 mtu”为 16 字节。另请参阅 --mtu 选项。
hping3 192.168.174.145 -c 5 -f
31. -x --morefrag
设置更多片段 IP 标志,如果您希望目标主机在重组期间发送 ICMP 超时,请使用此选项。
hping3 192.168.174.145 -c 5 -x
32. -y --dontfrag
设置不分段 IP 标志,这可用于执行 MTU路径发现。
hping3 192.168.174.145 -c 5 -y
33. -g --fragoff fragment offset value
设置分段偏移。
hping3 192.168.174.145 -c 5 -g 10
34. -m --mtu mtu value
启用分段时,设置不同于 16 的“虚拟 mtu”。如果数据包大小大于“虚拟 mtu”分段,则会自动打开。
hping3 192.168.174.145 -c 5 -m 16
35. -o --tos hex_tos
设置服务类型 (TOS),有关更多信息,请尝试 --tos帮助。
hping3 192.168.174.145 -c 5 -o 0x00
36. -G --rroute
记录路由。在每个发送的数据包中包含 RECORD_ROUTE 选项,并显示返回数据包的路由缓冲区。请注意,IP 标头仅够容纳九个这样的路由。许多主机会忽略或丢弃此选项。还请注意,使用 hping,即使目标主机过滤 ICMP,您也可以使用记录路由。记录路由是一个 IP 选项,而不是 ICMP 选项,因此即使在 TCP 和 UDP 模式下也可以使用记录路由选项。
hping3 192.168.174.145 -c 5 -G
ICMP 相关选项
37. -C --icmptype type
设置 icmp 类型,默认为 ICMP echo request(隐含 --icmp)。
hping3 192.168.174.145 -c 5 -C 8
38. -K --icmpcode code
设置 icmp 代码,默认为 0(隐含 --icmp)。
hping3 192.168.174.145 -c 5 -K 0
39. --icmp-ipver
设置 ICMP 数据中包含的 IP 报头的 IP 版本,默认为 4。
hping3 192.168.174.145 -c 5 --icmp-ipver 4
40. --icmp-iphlen
设置 ICMP 数据中包含的 IP 报头的 IP 报头长度,默认为 5(5 个 32 位字)。
hping3 192.168.174.145 -c 5 --icmp-iphlen 5
41. --icmp-iplen
设置 ICMP 数据中包含的 IP 报头的 IP 数据包长度,默认为实际长度。
hping3 192.168.174.145 -c 5 --icmp-iplen 10
42. --icmp-ipid
设置 ICMP 数据中包含的 IP 报头的 IP id,默认为随机。
hping3 192.168.174.145 -c 5 --icmp-ipid 30
43. --icmp-ipproto
设置 ICMP 数据中包含的 IP 标头的 IP 协议,默认为 TCP。
hping3 192.168.174.145 -c 5 --icmp-ipproto TCP
44. --icmp-ipsrc
设置 ip 源 (默认 0.0.0.0 )
hping3 192.168.174.145 -c 5 --icmp-ipsrc 0.0.0.0
45. --icmp-ipdst
设置 ip 目标 (默认 0.0.0.0 )
hping3 192.168.174.145 -c 5 --icmp-ipdst 192.168.174.145
46. --icmp-srcport
设置 tcp/udp 源端口 (默认随机)
hping3 192.168.174.145 -c 5 --icmp-srcport 53
47. --icmp-dstport
设置 tcp/udp 目标端口 (默认随机)
hping3 192.168.174.145 -c 5 --icmp-dstport 53
48. --icmp-cksum
设置 ICMP 校验和,默认为有效校验和。
hping3 192.168.174.145 -c 5 --icmp-cksum 0x1234
49. --icmp-ts
--icmptype 13 的别名(用于发送 ICMP 时间戳请求)。
hping3 192.168.174.145 -c 5 --icmp-ts
50. --icmp-addr
--icmptype 17 的别名(用于发送 ICMP 地址掩码请求)。
hping3 192.168.174.145 -c 5 --icmp-addr
51. --force-icmp
发送所有 icmp 类型(默认仅发送支持的类型)
hping3 192.168.174.145 -c 5 --force-icmp
52. --icmp-gw
设置 ICMP 重定向的网关地址(默认 0.0.0.0)
hping3 192.168.174.145 -c 5 --icmp-gw 0.0.0.0
53. --icmp-help
显示其他 icmp 选项的帮助
hping3 --icmp-help
TCP/UDP 相关选项
54. -s --baseport source port
hping3 使用源端口来猜测回复序列号。它以基本源端口号开始,并为每个发送的数据包增加此数字。当收到数据包时,序列号可以计算为 replies.dest.port -base.source.port。默认基本源端口是随机的,使用此选项您可以设置不同的数字。如果您不需要为每个发送的数据包增加源端口,请使用 -k --keep 选项。
hping3 192.168.174.145 -c 5 -p 5050 -s 80
55. -p --destport [+][+]dest port
设置目标端口,默认值为 0。如果目标端口号前面有“+”字符(即 +1024),则每个收到的回复的目标端口都会增加。如果目标端口号前面有两个“+”(即 ++1024),则每个发送的数据包的目标端口都会增加。默认情况下,可以使用 CTRL+z 以交互方式修改目标端口。
hping3 192.168.174.145 -c 5 -p 8080
56. --keep
保持源端口不变,有关详细信息,请参阅 --baseport。
hping3 192.168.174.145 -c 5 --keep
57. -w --win
设置 TCP 窗口大小。默认值为 64。
hping3 192.168.174.145 -c 5 -w 128
58. -O --tcpoff
设置虚假 tcp 数据偏移。正常数据偏移为 tcphdrlen / 4。
hping3 192.168.174.145 -c 5 -O 15
59. -M --tcpseq
设置 TCP 序列号。
hping3 192.168.174.145 -c 5 -M 1234
60. -L --tcpack
设置 TCP ack。
hping3 192.168.174.132 -c 5 -L 67890
61. -Q --seqnum
此选项可用于收集目标主机生成的序列号。当您需要分析 TCP 序列号是否可预测时,此选项非常有用。输出示例:
hping3 win98 --seqnum -p 139 -S -i u1 -I eth0
HPING uaz (eth0 192.168.4.41): S 设置,40 个标头 + 0 个数据字节
2361294848 +2361294848
2411626496 +50331648
2545844224 +134217728
2713616384 +167772160
2881388544 +167772160
3049160704 +167772160
3216932864 +167772160
3384705024 +167772160
3552477184 +167772160
3720249344 +167772160
3888021504 +167772160
4055793664 +167772160
4223565824 +167772160
第一列报告序列号,第二列报告当前序列号与上一个序列号之间的差值。如您所见,目标主机的序列号是可预测的。
hping3 192.168.174.132 -c 5 --seqnum -p 139 -S -i u1 -I eth0
62. -b --badcksum
发送带有错误 UDP/TCP 校验和的数据包。
hping3 192.168.174.132 -c 5 -p 443 -b
63. --tcp-mss
启用 TCP MSS 选项并将其设置为给定值。
hping3 192.168.174.132 -c 5 -p 443 --tcp-mss 30
64. --tcp-timestamp
启用 TCP 时间戳选项,并尝试猜测时间戳更新频率和远程系统正常运行时间。
hping3 192.168.174.132 -c 5 -p 443 --tcp-timestamp
65. -F --fin
设置 FIN tcp 标志。
hping3 192.168.174.132 -c 5 -p 443 -F
66. -S --syn
设置 SYN tcp 标志。
hping3 192.168.174.132 -c 5 -p 443 -S
67. -R --rst
设置 RST tcp 标志。
hping3 192.168.174.132 -c 5 -p 443 -R
68. -P --push
设置 PUSH tcp 标志。
hping3 192.168.174.132 -c 5 -p 443 -P
69. -A --ack
设置 ACK tcp 标志。
hping3 192.168.174.132 -c 5 -p 443 -A
70. -U --urg
设置 URG tcp 标志。
hping3 192.168.174.132 -c 5 -p 443 -U
71. -X --xmas
设置 Xmas tcp 标志。
hping3 192.168.174.132 -c 5 -p 443 -X
72. -Y --ymas
设置 Ymas tcp 标志。
hping3 192.168.174.132 -c 5 -p 443 -Y
73. --tcpexitcode
使用最后一个 tcp->th_flags 作为退出代码。使用最后收到的数据包 tcp->th_flag 作为退出代码退出。对于需要知道某些主机的端口 999 是否使用 SYN/ACK 或 RST 回复 SYN(即服务是启动还是关闭)的脚本很有用。
hping3 192.168.174.132 -c 5 -p 443 --tcpexitcode
常用选项
74. -d --data data size
设置数据包主体大小。警告,使用 --data 40 hping3 将不会生成 0 字节数据包,而是生成 protocol_header+40 字节。hping3 会将数据包大小信息显示为第一行输出,如下所示:
HPING www.yahoo.com (ppp0 204.71.200.67):
NO FLAGS are set, 40 headers + 40 data bytes
hping3 192.168.174.132 -c 5 -p 443 -d 40
75. -E --file filename
使用文件名内容填充数据包的数据。
hping3 192.168.174.132 -c 5 -p 443 -d 50 -E payload.txt
76. -e --sign signature
用签名填充数据的第一个签名长度字节。如果签名长度大于数据大小,将显示错误消息。如果不指定数据大小,hping 将使用签名大小作为数据大小。此选项可以安全地与 --file filename选项一起使用,其余数据空间将使用文件名填充。
hping3 192.168.174.132 -c 5 -p 443 -d 50 -E payload.txt -e 8
77. -j --dump
以十六进制转储接收到的数据包。
hping3 192.168.174.132 -c 5 -p 443 -j
78. -J --print
转储接收到的数据包的可打印字符。
hping3 192.168.174.132 -c 5 -p 443 -J
79. -B --safe
启用安全协议,使用此选项文件传输中丢失的数据包将被重新发送。例如,为了将文件 /etc/passwd 从主机 A 发送到主机 B,您可以使用以下命令:
[host_a]
hping3 host_b --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd
[host_b]
hping3 host_a --listen signature --safe --icmp
先开启主机B监听,再开启主机A接收文件。按住Ctrl + C 停止接收。
主机A
hping3 192.168.174.132 --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd
主机B
hping3 192.168.174.134 --listen signature --safe --icmp
80. -u --end
如果您使用 --file filename 选项,则告诉您何时到达 EOF。此外,防止另一端接受更多数据包。有关更多信息,请参阅 HPING3-HOWTO。
hping3 192.168.174.132 -c 5 -p 443 -u
81. -T --traceroute
路由跟踪模式。使用此选项 hping3 将增加传输过程中收到的每个 ICMP 生存时间 0 的 ttl。尝试 hping3 host --traceroute。此选项隐含 --bind 和 --ttl 1。您可以使用 --ttl 选项覆盖 ttl 1。自 2.0.0 稳定版起,它会打印 RTT 信息。
hping3 192.168.174.132 -c 5 -p 443 -T
82. --tr-keep-ttl
在路由跟踪模式下保持 TTL 固定,这样您就可以监控路由中的一跳。例如,要监控第 5 跳如何变化或其 RTT 如何变化,您可以尝试 hping3 host --traceroute --ttl 5 --tr-keep-ttl。
hping3 192.168.174.132 -c 5 -p 443 --traceroute --ttl 5 --tr-keep-ttl
83. --tr-stop
如果指定此选项,一旦收到第一个未超过 ICMP 时间的数据包,hping 就会退出。这更好地模拟了路由跟踪行为。
hping3 192.168.174.132 -c 5 -p 443 --traceroute --ttl 5 --tr-stop
84. --tr-no-rtt
在跟踪路由模式下不显示 RTT 信息。如果设置了此选项,则甚至不会计算 ICMP 时间超出的 RTT 信息。
hping3 192.168.174.132 -c 5 -p 443 --traceroute --ttl 5 --tr-no-rtt
ARS 数据包描述(新,不稳定)
85. --apd-send
发送用 APD 描述的数据包(参见 docs/APD.txt)
TCP 输出格式
标准 TCP 输出格式如下:
len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms
- len 是从数据链路层捕获的数据的大小(以字节为单位),不包括数据链路报头大小。由于低级传输层填充,这可能与 IP 数据报大小不匹配。
- ip 是源 IP 地址。
- flags 是 TCP 标志,R 代表 RESET,S 代表 SYN,A 代表 ACK,F 代表 FIN,P 代表 PUSH,U 代表 URGENT,X 代表非标准 0x40,Y 代表非标准 0x80。
- 如果回复包含 DF,则 IP 报头会设置不分段位。
- seq 是数据包的序列号,使用 TCP/UDP 数据包的源端口、ICMP 数据包的序列字段获得。
- id 是 IP ID 字段。
- win 是 TCP 窗口大小。
- rtt 是往返时间(以毫秒为单位)。
如果使用 -V 命令行开关运行 hping,它将显示有关数据包的其他信息,例如:
len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms tos=0 iplen=40 seq=0 ack=1223672061 sum=e61d urp=0
- tos 是 IP 标头的服务类型字段。
- iplen 是 IP 总长度字段。
- seq 和 ack 是 TCP 标头中的序列和确认 32 位数字。
- sum 是 TCP 报头校验和值。
- urp 是 TCP 紧急指针值。
UDP 输出格式
标准输出格式为:
len=46 ip=192.168.1.1 seq=0 ttl=64 id=0 rtt=6.0 ms
字段含义与相同字段的 TCP 输出含义完全相同。
ICMP 输出格式
ICMP 输出示例如下:
ICMP Port Unreachable from ip=192.168.1.1 name=nano.marmoc.net
非常容易理解。它以字符串“ICMP”开头,后跟 ICMP 错误的描述,示例中为端口无法访问。ip 字段是包含 ICMP 错误的 IP 数据报的 IP 源地址,name 字段只是解析为名称(dns PTR 请求)的数字地址,如果解析失败则为 UNKNOWN。
ICMP 传输或重组期间超时格式略有不同:
TTL 0 during transit from ip=192.168.1.1 name=nano.marmoc.net
TTL 0 during reassembly from ip=192.70.106.25 name=UNKNOWN
唯一的区别是错误描述,它以 TTL 0 开头。
总结
hping3 是一款功能强大的网络工具,可用于安全测试、数据包构造和网络诊断。通过灵活的参数设置,用户能够精确控制数据包行为,满足多样化需求,是网络研究与安全测试中的重要工具。
在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。
欢迎各位大佬,小白来找我交流。
更多推荐
所有评论(0)