当前位置: 欣欣网 > 码农

还在 Ping 百度吗?那你就太 Low 了!

2024-03-18码农

戳下方名片 ,关注并 星标

回复「 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:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下 在看 ,加个 星标 ,这样每次新文章推送才会第一时间出现在你的订阅列表里。 在看 支持我们吧!