當前位置: 妍妍網 > 碼農

還在 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:因為公眾號平台更改了推播規則,如果不想錯過內容,記得讀完點一下 在看 ,加個 星標 ,這樣每次新文章推播才會第一時間出現在你的訂閱列表裏。 在看 支持我們吧!