,," /> " />

目 录CONTENT

文章目录

Hping3: 生成和解析TCPIP协议数据包的开源工具

Administrator
2024-03-01 / 0 评论 / 0 点赞 / 11 阅读 / 7022 字

安装:

yum install hping3

简介:

    hping3是一个网络工具,可以发送定制的TCP/IP数据包,并显示目标应答,就像ping程序对ICMP应答所做的那样。hping3处理碎片,任意数据包的主体和大小,

并可用于传输封装在支持协议下的文件。可用于如下应用场景:

- 防火墙测试
- 高级端口扫描
- 网络性能测试,使用不同的协议,TOS,分片
- 路径MTU发现
- 远程操作系统指纹
- TCP/IP 协议栈 Audit

hping3用法:

    hping3 host [options]

————————————————
参数缩写    参数    描述
-h    --help          显示帮助
-v    --version     显示版本
-c    --count        发送数据包的数目
-i     --interval     发送数据包间隔的时间 (uX即X微秒, 例如: -i u1000)
       --fast           等同 -i u10000 (每秒10个包)
       --faster        等同 -i u1000 (每秒100个包)
       --flood         尽最快发送数据包,不显示回复。
-n   --numeric     数字化输出,象征性输出主机地址。
-q    --quiet        安静模式
-I    --interface    网卡接口 (默认路由接口)
-V    --verbose    详细模式
-D   --debug       调试信息
-z    --bind          绑定ctrl+z到ttl(默认为目的端口)
-Z    --unbind     取消绑定ctrl+z键
       --beep         对于接收到的每个匹配数据包蜂鸣声提示
————————————————

hping3 模式选择:

————————————————

编号                  模式                            描述
default mode    TCP                             默认模式是 TCP
-0 或 --rawip    RAWIP模式                 在此模式下HPING会发送带数据的IP头。即裸IP方式。使用RAWSOCKET方式。
-1 或 --icmp      ICMP模式                   此模式下HPING会发送IGMP应答报,你可以用–ICMPTYPE --ICMPCODE选项发送其他类型/模式的ICMP报文。
-2 或 --udp      UDP 模式                    缺省下,HPING会发送UDP报文到主机的0端口,你可以用–baseport --destport --keep选项指定其模式。
-8 或 --scan     SCAN mode                扫描模式 指定扫描对应的端口。Example: hping --scan 1-30,70-90 -S www.target.host // 扫描
-9 或 --listen    listen mode                监听模式
————————————————

hping3 通用设置:

————————————————

参数缩写    参数               描述
-d              --data              data size (default is 0) // 发送数据包大小,缺省是0。
-E              --file                文件数据
-e             --sign               添加“签名”
-j              --dump            转储为十六进制数据包
-J              --print              转储为可打印字符
-B             --safe               启用“安全”协议
-u             --end               告诉你什么时候–file达到EOF并防止倒回
-T             --traceroute     traceroute模式(等同使用 --bind 且–ttl 1)
                --tr-stop           在traceroute模式下收到第一个不是ICMP时退出
                --tr-keep-ttl     保持源TTL固定,仅用于监视一跳
                --tr-no-rtt        不要在跟踪路由模式下计算/显示RTT信息 ARS包描述(新增功能,不稳定)ARS packet description (new, unstable)
                --apd-send      发送APD描述数据包
————————————————

hping3 典型应用场景:

————————————————

防火墙测试:测试防火墙对ICMP包的反应、是否支持traceroute、是否开放某个端口、对防火墙进行拒绝服务攻击(DoS attack)

hping3 -S -c 1000000 -a 10.10.10.10 -p 21 10.10.10.13

-S 指定TCP包的标志位SYN,

-c 1000000 指定发送1000000个数据包,

-a 10.10.10.10 源地址欺骗,伪造源地址为10.10.10.10,

-p 21指定探测的目的端口

端口扫描: Hping3支持指定TCP各个标志位、长度等信息。以下示例可用于探测目标机的80端口是否开放。

hping3 -I eth0 -S 192.168.10.1 -p 80

-I eth0指定使用eth0端口,

-S指定TCP包的标志位SYN,

-p 80指定探测的目的端口

文件传输: Hping3支持通过TCP/UDP/ICMP等包来进行文件传输。相当于借助TCP/UDP/ICMP包建立隐秘隧道通讯。实现方式是开启监听端口,对检测到的签名(签名为用户指定的字符串)的内容进行相应的解析

在接收端开启服务:

hping3 192.168.1.159 --listen signature --safe --icmp  

监听ICMP包中的签名,根据签名解析出文件内容。

在发送端使用签名打包的ICMP包发送文件:

hping3 192.168.1.108 --icmp ?d 100 --sign signature --file /etc/passwd  

将/etc/passwd密码文件通过ICMP包传给192.168.10.44主机。发送包大小为100字节(-d 100),发送签名为signature(-sign signature)。

————————————————

Hping3输出参数:

————————————————

标准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地址

flags是TCP标志位,R代表RESET,S代表SYN, A代表ACK,F代表FIN, P代表PUSH,U代表URGENT,X代表不是标准的0x40,Y代表不是标准的0x80

输出中包含DF代表IP头部的不分片位开启

seq是报文的序列号,对于TCP/UDP报文,是源端口号;对于ICMP报文,是sequence字段 id是IP ID字段

win是TCP窗口大小

rtt是round trip time(往返时间),单位是毫秒

如果是用hping3 命令时加上了-V的参数,返回值将包含更多信息:

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报头中的seq和ack 32位数字

sum是TCP报头校验和值

urp是TCP urgent point 的值

————————————————

例子

————————————————

————————————————

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区