戳下方名片 ,关注并 星标 !
回复「 1024 」获取 2TB 学习资源!
👉 体系化学习:
— 特色专栏 —
/ /
/ /
/ /
/ /
/ /
大家好,我是民工哥!
今天给大家介绍一个超牛逼的命令行工具:hping!
hping 简介
hping 是一个命令行的网络工具(与ping命令类似,但功能更强大),它可以生成和发送自定义的TCP/IP数据包,对指定的主机或端口进行探测。它支持TCP,UDP,ICMP 和 RAW-IP 协议。
hping的功能强大,可以用来测试防火墙、路由器等网络设备的性能,或者用来进行网络攻击。
hping 命令可在 Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOs X,Windows等众多操作系统下运行。
hping 功能简介
防火墙测试
实用的端口扫描
网络检测,可以用不同的协议、服务类型(TOS)、IP分片
手工探测MTU(最大传输单元)路径
先进的路由跟踪,支持所有的协议
远程操作系统探测
远程的运行时间探测
TCP/IP堆栈审计
hping 的一些主要功能和用法:
对特定目标端口发起TCP探测 :使用「-p」选项来指定目标端口,以及「-S」选项来设置TCP模式(如SYN包)。
伪造来源IP :hping允许用户伪造来源IP地址,这可以用来模拟DDoS攻击或其他类型的网络攻击。使用「-a」选项可以伪造IP地址。
请注意 ,hping的功能强大,但也可能被用于非法或恶意的用途。因此,在使用hping时,请确保遵守当地的法律法规,并尊重他人的网络安全和隐私。
hping 安装
Centos
安装依赖项
yum install -y gcc libpcap libpcap-devel tcl tcl-devel
下载安装
wget https://github.com/antirez/hping/archive/master.zip
unzip master.zip
cd hping-master
./configure
make
make strip
make install
如果make的过程中出现下面的错误:
解决方法
[root@CentOS7-1 hping-master]# ln -sf /usr/include/pcap-bpf.h /usr/include/net/bpf.h
常用的参数
-p #端口号
-S #发送TCP的SYN包
-A #发送TCP的ACK包
-a #伪造源IP
–flood #尽可能快的发送,慎用
hping 使用场景
hping 的使用场景主要集中在网络诊断、安全测试以及可能的开发调试等方面。具体来说:
网络诊断 :hping可以用来探测网络设备的性能,包括检测网络中的开放端口、扫描网络设备、测试防火墙规则等。它可以使用任何IP报文,包括ICMP、TCP、UDP等,并定制数据包的各个部分,以实现对目标地址的详细探测。
安全测试 :hping也常用于网络安全测试,例如模拟DDOS攻击等。通过伪造来源IP地址,发送大量的数据包,hping可以帮助测试网络设备的防御能力和安全性能。
开发调试 :在开发过程中,hping可以用来模拟网络环境中的各种情况,帮助开发者调试和优化网络应用。
hping 使用
hping 的使用相对复杂,因为它具有很多选项和功能,可以用来执行各种网络任务,包括测试、扫描以及潜在的攻击。以下是一些基本的使用方法和示例:
基本使用
hping 可以发送自定义的TCP/IP数据包到指定的主机或端口。其基本语法如下:
hping [目标地址] [选项]
如果你想发送TCP数据包到特定端口,可以使用
-S(SYN)
选项和
-p
选项来指定端口:
hping 目标IP -S -p 端口号
设置数据包数量
使用
-c
选项来设置要发送的数据包数量:
hping 目标IP -c 10
设置数据包大小
使用
-d
选项来设置每个数据包的大小(以字节为单位):
hping 目标IP -d 128
示例
UDP DDoS攻击示例
hping3 -c 10000 -d 120 --udp -w 64 -p 80 --flood --rand-source 目标IP
这个命令将发送10000个UDP数据包到目标IP的80端口,每个数据包的大小为120字节,窗口大小为64字节,并使用洪水攻击模式(
--flood
)以及随机源地址(
--rand-source
)。
ICMP DDoS攻击示例
hping3 -c 10000 -d 120 --icmp -w 64 -p 80 --flood --rand-source 目标IP
这个命令与上面的UDP攻击类似,但使用的是ICMP协议。
SYN DDoS攻击示例
hping3 -c 10000 -d 120 -S -w 64 -p 80 --flood --rand-source 目标IP
这个命令将执行SYN DDoS攻击,这是一种常见的网络攻击方式。
修改TTL值
在某些情况下,你可能需要修改数据包的TTL(Time To Live)值。虽然具体的命令取决于你想要达到的效果,但通常你需要通过hping的适当选项来实现。TTL值通常在IP数据包的头部设置,用来防止数据包在网络中无限循环。
洪水攻击
使用
--flood
选项可以以尽可能快的速度发送数据包,不显示回复。这可以用于执行洪水攻击,消耗目标主机的资源。
检测网络设备的性能
如何使用 hping 来检测网络设备的性能,下面一起来探讨一下这个问题。以下是使用 hping 来检测网络设备性能的一些基本步骤和示例:
确定目标
首先,确定你想要检测的网络设备或主机的IP地址。
基本性能测试
使用hping发送基本的TCP或UDP数据包,观察响应时间和丢包率。例如,使用TCP模式发送数据包:
hping 目标IP -S -c 10
在这里,
-S
表示使用TCP SYN模式,
-c 10
表示发送10个数据包。
测量延迟
为了测量网络设备或主机之间的延迟,你可以使用hping的
--latency
选项,这可以帮助你获得每个数据包的往返时间(RTT)。
hping 目标IP --latency -c 10
调整数据包大小
通过调整数据包的大小,你可以观察网络设备在不同负载下的性能。使用
-d
选项来设置数据大小:
hping 目标IP -d 1024 -c 10
这将发送大小为1024字节的数据包。
使用traceroute模式
hping还提供了traceroute模式,可以帮助你查看数据包在网络中的路径。使用
--traceroute
选项来启用这个模式:
hping 目标IP --traceroute
定制数据包
hping允许你定制数据包的各个部分,包括TCP标志、端口号等。这使得你可以更精确地模拟特定的网络流量模式,并观察网络设备的响应。
记录和分析结果
使用hping时,注意记录返回的数据,包括丢包率、延迟、TTL值等。这些数据可以帮助你分析网络设备的性能。
结语
总的来说,hping 是一个功能强大且灵活的网络工具,但需要在合法和道德的框架内使用。
公众号读者专属技术群
构建高质量的技术交流社群,欢迎从事后端开发、运维技术进群( 备注岗位,已在技术交流群的请勿重复添加微信好友 )。主要以技术交流、内推、行业探讨为主,请文明发言。 广告人士勿入,切勿轻信私聊,防止被骗。
扫码加我好友,拉你进群
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下 「 在看 」 ,加个 「 星标 」 ,这样每次新文章推送才会第一时间出现在你的订阅列表里。 点 「 在看 」 支持我们吧!