hping

一、简介

摘自:百度百科

Hping是一个命令行下使用的TCP/IP数据包组装/分析工具,其命令模式很像Unix下的ping命令,但是它不是只能发送ICMP回应请求,它还可以支持TCP、UDP、ICMP和RAW-IP协议,它有一个路由跟踪模式,能够在两个相互包含的通道之间传送文件。Hping常被用于检测网络和主机,其功能非常强大,可在多种操作系统下运行,如Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOs X,Windows。

二、源码安装

首先,解决依赖关系:

[root@host31 hping]#yum -y install libpcap-devel tcl-devel
[root@host31 hping]# ln -sv /usr/include/pcap-bpf.h /usr/include/net/bpf.h
`/usr/include/net/bpf.h' -> `/usr/include/pcap-bpf.h'
 

hping在github上有项目源码,我们将其clone下来进行源码编译安装:

[root@host31 ~]# git clone https://github.com/antirez/hping.git
[root@host31 ~]# cd hping/
[root@host31 hping]# ./configure
[root@host31 hping]# make && make install
三、简要使用介绍

两台主机:192.168.10.31,192.168.10.35

hping默认使用的TCP的模式:

[root@host31 ~]# hping 192.168.10.35
HPING 192.168.10.35 (eth0 192.168.10.35): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.10.35 ttl=64 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=1.9 ms
len=46 ip=192.168.10.35 ttl=64 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.7 ms
#192.168.10.35上使用tcpdump抓包,默认连接的是0号端口
[root@host35 ~]# tcpdump -np -ieth1 src host 192.168.10.31
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
00:21:24.870243 IP 192.168.10.31.willy > 192.168.10.35.0: Flags [], win 512, length 0

在192.168.10.35上,修改内核参数关闭ICMP的回显:

[root@host35 ~]# sysctl -w net.ipv4.icmp_echo_ignore_all=1
net.ipv4.icmp_echo_ignore_all = 1

使用ping和fping都无法检测到host35这台主机:

[root@host31 ~]# ping 192.168.10.35
PING 192.168.10.35 (192.168.10.35) 56(84) bytes of data.
^C
--- 192.168.10.35 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2867ms

[root@host31 ~]# fping 192.168.10.35
192.168.10.35 is unreachable

使用hping依然可以正常检测:

[root@host31 ~]# hping 192.168.10.35
HPING 192.168.10.35 (eth0 192.168.10.35): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.10.35 ttl=64 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=1.1 ms
len=46 ip=192.168.10.35 ttl=64 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.4 ms
^C
--- 192.168.10.35 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.4/0.7/1.1 ms

前面讲过,hping默认使用的TCP的模式,那么都有哪些模式可以使用呢?

Mode

  default mode     TCP

  -0  --rawip         RAW IP mode

  -1  --icmp          ICMP mode

  -2  --udp           UDP mode

  -8  --scan          SCAN mode.

       Example: hping --scan 1-30,70-90 -S www.target.host

  -9  --listen         listen mode

此时使用ICMP模式应该是不通的:

[root@host31 ~]# hping -1 192.168.10.35
HPING 192.168.10.35 (eth0 192.168.10.35): icmp mode set, 28 headers + 0 data bytes
^C
--- 192.168.10.35 hping statistic ---
10 packets tramitted, 0 packets received, 100% packet loss

有关TCP/UDP的参数:

UDP/TCP

  -s  --baseport   指定源端口,默认是随机的

  -p  --destport   指定目标端口

  还可以指定标志位:

  -F  --fin        set FIN flag

  -S  --syn        set SYN flag

  -R  --rst        set RST flag

  -P  --push       set PUSH flag

  -A  --ack        set ACK flag

  -U  --urg        set URG flag

使用hping探测22端口,并且指定标志位为SYN:

[root@host31 ~]# hping -p 22 --syn 192.168.10.35
HPING 192.168.10.35 (eth0 192.168.10.35): S set, 40 headers + 0 data bytes
len=46 ip=192.168.10.35 ttl=64 DF id=0 sport=22 flags=SA seq=0 win=14600 rtt=0.8 ms
len=46 ip=192.168.10.35 ttl=64 DF id=0 sport=22 flags=SA seq=1 win=14600 rtt=0.7 ms
^C
--- 192.168.10.35 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.7/0.7/0.8 ms

在192.168.10.35上抓包:

[root@host35 ~]# tcpdump -np -ieth1 src host 192.168.10.31
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
00:58:05.236458 IP 192.168.10.31.cplscrambler-in > 192.168.10.35.ssh: Flags [S], seq 2142328241, win 512, length 0
00:58:05.237155 IP 192.168.10.31.cplscrambler-in > 192.168.10.35.ssh: Flags [R], seq 2142328242, win 0, length 0
00:58:06.236744 IP 192.168.10.31.cplscrambler-al > 192.168.10.35.ssh: Flags [S], seq 23884613, win 512, length 0
00:58:06.237140 IP 192.168.10.31.cplscrambler-al > 192.168.10.35.ssh: Flags [R], seq 23884614, win 0, length 0

更多命令选项,请使用hping -h查看。

转载于:https://my.oschina.net/forlinux/blog/407318

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值