hping

hping

 

What is hping ?

     Hping is a command-line oriented TCP/IP packet crafter.

     HPING can be used to create IP packets containing TCP, UDP or ICMP payloads.

      All header fields can be modified and controlled using the command line.

     A good understanding of IP and TCP/UDP is mandatory to use and understand the utility.

What can hping do?

     Firewall testing

     Advanced port scanning

     Network testing, using different protocols, TOS, fragmentation

     Manual path MTU discovery

     Advanced traceroute, under all the supported protocols

     Remote OS fingerprinting

     Remote uptime guessing

     TCP/IP stacks auditing

     hping can also be useful to students that are learning TCP/IP.

Help for hping

# hping -h

usage: hping host [options]

 

Help for hping    --- Mode

 

default mode     TCP

  -0  --rawip      RAW IP mode

  -1  --icmp       ICMP mode

  -2  --udp        UDP mode

  -9  --listen     listen mode

Help for hping    --- IP

-a  --spoof      spoof source address         -t  --ttl        ttl (default 64)

-W  --winid      use win* id byte ordering  -N  --id         id (default random)

-y  --dontfrag   set dont fragment flag     -r  --rel        relativize id field

-f  --frag       split packets in more frag 

-x  --morefrag   set more fragments flag

-g  --fragoff    set the fragment offset

-m  --mtu        set virtual mtu, implies --frag if packet size > mtu

-o  --tos        type of service (default 0x00), try --tos help

-G  --rroute     includes RECORD_ROUTE option and display the route buffer

-H  --ipproto    set the IP protocol field, only in RAW IP mode

Help for hping    --- ICMP

 

-C  --icmptype   icmp type (default echo request)

-K  --icmpcode   icmp code (default 0)

      --icmp-ts    Alias for --icmp --icmptype 13 (ICMP timestamp)

      --icmp-addr  Alias for --icmp --icmptype 17 (ICMP address subnet mask)

      --icmp-help  display help for others icmp options

Help for hping    --- UDP/TCP

-s  --baseport   base source port             (default random)

-p  --destport   [+][+]<port> destination port(default 0) ctrl+z inc/dec

-k  --keep       keep still source port

-w  --win        winsize (default 64)

-O  --tcpoff     set fake tcp data offset     (instead of tcphdrlen / 4)

-Q  --seqnum     shows only tcp sequence number

-b  --badcksum   (try to) send packets with a bad IP checksum

                   many systems will fix the IP checksum sending the packet

                   so you'll get bad UDP/TCP checksum instead.

Help for hping    --- UDP/TCP

  -M  --setseq     set TCP sequence number

  -L  --setack     set TCP ack

  -F  --fin        set FIN flag

  -S  --syn        set SYN flag

  -R  --rst        set RST flag

  -P  --push       set PUSH flag

  -A  --ack        set ACK flag

  -U  --urg        set URG flag

  -X  --xmas       set X unused flag (0x40)

  -Y  --ymas       set Y unused flag (0x80)

  --tcpexitcode    use last tcp->th_flags as exit code

  --tcp-timestamp  enable the TCP timestamp option to guess the HZ/uptime

Help for hping    --- Common

  -d  --data       data size                    (default is 0)

  -E  --file       data from file

  -e  --sign       add 'signature'

  -j  --dump       dump packets in hex

  -J  --print      dump printable characters

  -B  --safe       enable 'safe' protocol

  -u  --end        tell you when --file reached EOF and prevent rewind

  -T  --traceroute traceroute mode          (implies --bind and --ttl 1)

  --tr-stop        Exit when receive the first not ICMP in traceroute mode

  --tr-keep-ttl    Keep the source TTL fixed, useful to monitor just one hop

  --tr-no-rtt       Don't calculate/show RTT information in traceroute mode

IP Spoofing

 

# hping -a 172.27.20.100 -1 192.168.100.205

HPING 192.168.100.205 (hme0 192.168.100.205): icmp mode set, 28 headers + 0 data bytes

46 bytes from 192.168.100.205: icmp_seq=0 ttl=127 id=20484 rtt=2.0 ms

46 bytes from 192.168.100.205: icmp_seq=1 ttl=127 id=20485 rtt=1.7 ms

46 bytes from 192.168.100.205: icmp_seq=2 ttl=127 id=20486 rtt=1.8 ms

^C

--- 192.168.100.205 hping statistic ---

3 packets tramitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 1.7/1.8/2.0 ms

#

Note: This do not works in windows XP SP2

Syn flood --- src port differ

 

# hping 192.168.100.205 -S -p 80

HPING 192.168.100.205 (hme0 192.168.100.205): S set, 40 headers + 0 data bytes

len=46 ip=192.168.100.205 flags=RA seq=0 ttl=127 id=20345 win=0 rtt=2.4 ms

len=46 ip=192.168.100.205 flags=RA seq=1 ttl=127 id=20346 win=0 rtt=1.0 ms

len=46 ip=192.168.100.205 flags=RA seq=2 ttl=127 id=20347 win=0 rtt=0.9 ms

len=46 ip=192.168.100.205 flags=RA seq=3 ttl=127 id=20348 win=0 rtt=1.0 ms

len=46 ip=192.168.100.205 flags=RA seq=4 ttl=127 id=20350 win=0 rtt=1.0 ms

len=46 ip=192.168.100.205 flags=RA seq=5 ttl=127 id=20351 win=0 rtt=0.9 ms

^C

--- 192.168.100.205 hping statistic ---

6 packets tramitted, 6 packets received, 0% packet loss

round-trip min/avg/max = 0.9/1.2/2.4 ms

Syn packets --- duplicated syn packets

 

d:\>hping 192.168.1.1 -S -k -p 80

HPING 192.168.1.1 (eth0 192.168.1.1): S set, 40 headers + 0 data bytes

len=65543 ip=192.168.1.1 ttl=64 id=11924 sport=80 flags=SA seq=0 win=8192 rtt=10.0 ms

DUP! len=65543 ip=192.168.1.1 ttl=64 id=11925 sport=80 flags=SA seq=0 win=8192 rtt=1001.0 ms

DUP! len=65543 ip=192.168.1.1 ttl=64 id=11926 sport=80 flags=SA seq=0 win=8192 rtt=2002.0 ms

DUP! len=65543 ip=192.168.1.1 ttl=64 id=11927 sport=80 flags=SA seq=0 win=8192 rtt=3004.0 ms

 

--- 192.168.1.1 hping statistic ---

4 packets tramitted, 4 packets received, 0% packet loss

round-trip min/avg/max = 10.0/1504.2/3004.0 ms

Packets with payload

d:\partner\hping>cat payload.txt

This is testing payload for hping!!!

 

d:\partner\hping>hping 192.168.1.1 -1 -d 100 -E payload.txt

 

Hping --- Resource

 

 

 

转载于:https://www.cnblogs.com/swordzj/archive/2012/04/01/2428351.html

### hping3 工具简介 `hping3` 是一种功能强大的命令行工具,主要用于发送自定义 TCP/IP 数据包并监听回复。它广泛应用于网络安全测试、渗透测试以及网络诊断等领域。通过 `hping3` 可以模拟各种类型的流量,包括但不限于 ICMP、TCP 和 UDP 流量。 以下是关于如何下载和使用 `hping3` 的详细介绍: --- ### 下载与安装 #### Linux 平台 在大多数基于 Debian/Ubuntu 的发行版上,可以通过以下命令安装 `hping3`: ```bash sudo apt-get update && sudo apt-get install hping3 ``` 对于 Red Hat/CentOS/Fedora 发行版,则可以运行以下命令来安装: ```bash sudo yum install hping3 ``` 如果官方源中未提供最新版本的 `hping3`,可以从其官方网站或其他可信资源获取编译后的二进制文件或源码进行手动安装。 #### Windows 平台 虽然原生支持主要针对类 Unix 系统,但在 Cygwin 或 WSL (Windows Subsystem for Linux) 中也可以实现类似的环境配置。推荐优先考虑 WSL 来完成安装过程。 --- ### 使用指南 #### 基础语法结构 通用形式如下所示: ```bash hping3 [options] target_host_or_ip_address ``` 其中 `[options]` 表示一系列可选参数,而 `target_host_or_ip_address` 则为目标主机地址或者 IP 地址。 #### 参数说明 | 参数 | 描述 | |---------------------|----------------------------------------------------------------------------------------| | `-c COUNT` | 设置要发送的数据包总数 | | `-d SIZE` | 定义数据包的有效负载大小 | | `--tcp/--udp/--icmp`| 指定协议类型 | | `-w WIN_SIZE` | 设定窗口尺寸 | | `-p PORT` | 配置目标端口号 | | `--flood` | 启动洪水模式,尽可能快速地发送数据包 | | `--rand-source` | 随机化源地址 | 具体实例演示见下文。 --- ### 实际操作案例 #### 1. 执行简单的 TCP SYN 探测 向指定的目标发起一次标准的 TCP SYN 请求,用于检测开放状态下的某个特定端口是否存在响应行为。 ```bash hping3 -S -p 80 www.example.com ``` 上述指令会尝试连接到远程服务器上的 HTTP 默认服务位置[^1]。 #### 2. 进行大规模压力测试(谨慎) 利用高频率传输机制评估系统性能极限状况;然而需要注意的是,在实际环境中滥用此类方法可能引发严重后果,请务必遵循当地法律法规行事。 ```bash hping3 --flood --rand-source -p 80 TARGET_IP_ADDRESS ``` 此脚本片段展示了如何设置随机源地址的同时开启泛洪开关以便于制造大量伪造请求流经路由节点到达最终目的地[^2]。 #### 3. 查看实时交互详情记录 启用调试级别日志输出有助于分析整个通信流程中的每一个环节变化情况。 ```bash hping3 -V -I eth0 -a spoofed.ip.address -s local.port.number destination.host.name ``` 这里包含了详细的接口绑定(-I),伪装来源信息(-a,-s), 加强可视化效果(-V)[^3]. --- ### 注意事项 - **合法性声明**: 在未经授权的情况下对他人设备实施扫描动作属于违法行为,需严格遵守相关规定条款。 - **责任承担**: 对因不当运用技术手段所造成的任何损害均应由使用者自行负责处理解决纠纷事宜. --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值