 一、原理基础Hping是一个命令行下使用的TCP/IP数据包组装/分析工具,其命令模式很像Unix下的ping命令,但是它不是只能发送ICMP回应请求,它还可以支持TCP、UDP、ICMP和RAW-IP协议,它有一个路由跟踪模式,能够在两个相互包含的通道之间传送文件。Hping常被用于检测网络和主机,其功能非常强大,可在多种操作系统下运行,如Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOs X,Windows。 HPING和ping的区别:典型ping程序使用的是ICMP回显请求来测试,而HPING可以使用任何IP报文,包括ICMP、TCP、UDP、RAWSOCKET。 Hping的主要功能有: 防火墙测试 实用的端口扫描 网络检测,可以用不同的协议、服务类型(TOS)、IP分片 手工探测MTU(最大传输单元)路径 先进的路由跟踪,支持所有的协议 远程操作系统探测 远程的运行时间探测 TCP/IP堆栈审计
二、安装Centos yum install hpingDebian/Ubuntu apt-get install hping三、Hping的详细参数-h —help 显示帮助信息 -v —version 显示Hping的版本信息 -c —count 指定数据包的次数 -i —interval 指定发包间隔为多少毫秒,如-i m10:表示发包间隔为10毫秒(附:秒、毫秒、微秒进率。1s=1000ms(毫秒)=1000000(微秒),1s=10^3ms(毫秒)=10^6μs(微秒)) —fast 与-i m100等同,即每秒钟发送10个数据包(hping的间隔u表示微妙,--fast表示快速模式,一秒10个包。) -n —numeric 指定以数字形式输出,表示不进行名称解析。 -q —quiet 退出Hping -I —interface 指定IP,如本机有两块网卡,可通过此参数指定发送数据包的IP地址。如果不指定则默认使用网关IP -V —verbose 详细模式,一般显示很多包信息。 -D —debug 定义hping使用debug模式。 -z —bind 将ctrl+z 绑定到ttl,默认使用DST端口 -Z —unbind 解除ctrl+z的绑定 指定所用的模式: (缺省使用TCP进行PING处理) -0 —rawip 裸IP方式,使用RAWSOCKET方式。 -1 —icmp ICMP 模式 -2 —udp UDP 模式 -8 —scan 扫描模式. (例: hping —scan 1-30,70-90 -S ) -9 —listen 监听模式,会接受指定的信息。侦听指定的信息内容。 IP选项: -a —spoof 源地址欺骗 —rand-dest 随机目的地址模式 —rand-source 随机源目的地址模式 -t —ttl ttl值,默认为64 -N —id 指定id,默认是随机的 -W —winid 使用win*的id 字节顺序,针对不同的操作系统。 -r —rel 相对的id区域 -f —frag 将数据包分片后传输(可以通过薄弱的acl(访问控制列表)) -x —morefrag 设置更多的分片标记 -y —dontfrag 设置不加分片标记 -g —fragoff 设置分片偏移 -m —mtu 设置虚拟MTU, 当数据包>MTU时要使用—frag 进行分片 -o —tos 指定服务类型,默认是0x00,,可以使用—tos help查看帮助 -G —rroute 包含RECORD_ROUTE选项并且显示路由缓存 —lsrr 释放源路记录 —ssrr 严格的源路由记录 -H —ipproto 设置协议范围,仅在RAW IP模式下使用 ICMP选项 -C —icmptype 指定icmp类型(默认类型为回显请求) -K —icmpcode 指定icmp编码(默认为0) —force-icmp 发送所有ICMP数据包类型(默认只发送可以支持的类型) —icmp-gw 针对ICMP数据包重定向设定网关地址(默认是0.0.0.0) —icmp-ts 相当于—icmp —icmptype 13(ICMP时间戳) —icmp-addr 相当于—icmp —icmptype 17(ICMP地址掩码) —icmp-help 显示ICMP的其它帮助选项 UDP/TCP选项 -s —baseport 基本源端口(默认是随机的) -p —destport 目的端口(默认为0),可同时指定多个端口 -k —keep 仍然保持源端口 -w —win 指定数据包大小,默认为64 -O —tcpoff 设置假的TCP数据偏移 -Q —seqnum 仅显示TCP序列号 -b —badcksum 尝试发送不正确IP校验和的数据包(许多系统在发送数据包时使用固定的IP校验和,因此你会得到不正确的UDP/TCP校验和.) -M —setseq 设置TCP序列号 -L —setack 使用TCP的ACK(访问控制列表) -F —fin 使用FIN标记set FIN flag -S —syn 使用SNY标记 -R —rst 使用RST标记 -P —push 使用PUSH标记 -A —ack 使用 ACK 标记 -U —urg 使用URG标记 -X —xmas 使用 X 未用标记 (0x40) -Y —ymas 使用 Y 未用标记 (0x80) —tcpexitcode 最后使用 tcp->th_flags 作为退出代码 —tcp-timestamp 启动TCP时间戳选项来猜测运行时间 常规选项 -d —data 数据大小,默认为0 -E —file 从指定文件中读取数据 -e —sign 增加签名 -j —dump 以十六进行形式转存数据包 -J —print 转存可输出的字符 -B —safe 启用安全协议 -u —end 当通过- -file指定的文件结束时停止并显示,防止文件再从头开始 -T —traceroute 路由跟踪模式 —tr-stop 在路由跟踪模式下当收到第一个非ICMP数据包时退出 —tr-keep-ttl 保持源TTL,对监测一个hop有用 —tr-no-rtt 使用路由跟踪模式时不计算或显示RTT信息 ARS数据包描述(新增加的内容,暂时还不稳定) —apd-send 发送用描述APD的数据包 四、具体应用:每秒送10个(-i u10000)ICMP(-1)封包到 伪造来源IP(-a)为100.100.100.100 hping -1 -i u100000 -a 100.100.100.100注:-1为数字非英文L (责任编辑:admin) |