Hping3 拒绝服务攻击手册
Hping3 拒絕服務攻擊手冊
Hping3使用指南
hping 是 面向命令行的用于生成和解析TCP/IP協議數據包匯編/分析的開源工具。它支持TCP,UDP,ICMP和RAW-IP協議,具有跟蹤路由模式,能夠在覆蓋的信道之間發送文件以及許多其他功能,支持使用tcl腳本自動化地調用其API。hping是安全審計、防火墻測試等工作的標配工具。hping 優勢在于能夠定制數據包的各個部分,因此用戶可以靈活對目標機進行細致地探測。
- 主要功能
- 防火墻測試
- 高級端口掃描
- 網絡測試,使用不同的協議,TOS,分片
- 手動路徑MTU發現
- 在所有支持的協議下,高級traceroute
- 遠程操作系統指紋
- 遠程正常運行時間猜測
- TCP/IP協議棧審計
- hping也可以用于學習TCP/IP
用法
-h --help 顯示幫助
-v --version 顯示版本
-c --count 發送數據包的數目
-i --interval 發送數據包間隔的時間 (uX即X微秒,例如:-i u1000)
--fast 等同 -i u10000(每秒10個包) --faster 等同 -i u1000(每秒100個包) --flood 盡最快發送數據包,不顯示回復。-n --numeric 數字化輸出,象征性輸出主機地址。
-q --quiet 安靜模式
-I --interface 網卡接口
(默認路由接口)
-V --verbose 詳細模式
-D --debug 調試信息
-z --bind 綁定ctrl+z到ttl(默認為目的端口)
-Z --unbind 取消綁定ctrl+z鍵
–beep 對于接收到的每個匹配數據包蜂鳴聲提示
模式選擇
default mode TCP // 默認模式是 TCP
-0 --rawip RAWIP模式,原始IP模式。在此模式下HPING會發送帶數據的IP頭。即裸IP方式。使用RAWSOCKET方式。
-1 --icmp ICMP模式,此模式下HPING會發送IGMP應答報,你可以用–ICMPTYPE --ICMPCODE選項發送其他類型/模式的ICMP報文。
-2 --udp UDP 模式,缺省下,HPING會發送UDP報文到主機的0端口,你可以用–baseport --destport --keep選項指定其模式。
-8 --scan SCAN mode. //掃描模式
指定掃描對應的端口。
Example: hping --scan 1-30,70-90 -S www.target.host // 掃描
-9 --listen listen mode // 監聽模式
IP 模式
-a --spoof spoof source address //源地址欺騙。偽造IP攻擊,防火墻就不會記錄你的真實IP了,當然回應的包你也接收不到了。
–rand-dest random destionation address mode. see the man. // 隨機目的地址模式。詳細使用 man 命令
–rand-source random source address mode. see the man. // 隨機源地址模式。詳細使用 man 命令
-t --ttl ttl (默認 64) //修改 ttl 值
-N --id id (默認 隨機) // hping 中的 ID 值,缺省為隨機值
-W --winid 使用win* id字節順序 //使用winid模式,針對不同的操作系統。UNIX ,WINDIWS的id回應不同的,這選項可以讓你的ID回應和WINDOWS一樣。
-r --rel 相對id字段(估計主機流量) //更改ID的,可以讓ID曾遞減輸出,詳見HPING-HOWTO。
-f --frag 拆分數據包更多的frag. (may pass weak acl) //分段,可以測試對方或者交換機碎片處理能力,缺省16字節。
-x --morefrag 設置更多的分段標志 // 大量碎片,淚滴攻擊。
-y --dontfrag 設置不分段標志 // 發送不可恢復的IP碎片,這可以讓你了解更多的MTU PATH DISCOVERY。
-g --fragoff set the fragment offset // 設置斷偏移。
-m --mtu 設置虛擬最大傳輸單元, implies
–frag if packet size > mtu // 設置虛擬MTU值,當大于mtu的時候分段。
-o --tos type of service (default 0x00), try
–tos help // tos字段,缺省0x00,盡力而為?
-G --rroute includes RECORD_ROUTE option and display
the route buffer // 記錄IP路由,并顯示路由緩沖。
–lsrr 松散源路由并記錄路由 // 松散源路由
–ssrr 嚴格源路由并記錄路由 // 嚴格源路由
-H --ipproto 設置IP協議字段,僅在RAW IP模式下使用 //在RAW IP模式里選擇IP協議。設置ip協議域,僅在RAW ip模式使用。
ICMP 模式
-C --icmptype icmp類型(默認echo請求) // ICMP類型,缺省回顯請求。
-K --icmpcode icmp代號(默認0) // ICMP代碼。
–force-icmp 發送所有icmp類型(默認僅發送支持的類型) // 強制ICMP類型。
–icmp-gw 設置ICMP重定向網關地址(默認0.0.0.0)
// ICMP重定向
–icmp-ts 等同
–icmp --icmptype 13 (ICMP 時間戳) // icmp時間戳
–icmp-addr 等同
–icmp --icmptype 17 (ICMP 地址子網掩碼) // icmp子網地址
–icmp-help 顯示其他icmp選項幫助 // ICMP幫助
UDP/TCP 模式
-s --baseport base source port (default random) // 缺省隨機源端口
-p --destport [+][+] destination port(default 0) ctrl+z inc/dec // 缺省隨機源端口
-k --keep keep still source port // 保持源端口
-w --win winsize (default 64) // win的滑動窗口。windows發送字節(默認64)
-O --tcpoff set fake tcp data offset (instead of tcphdrlen / 4) // 設置偽造tcp數據偏移量(取代tcp地址長度除4)
-Q --seqnum shows only tcp sequence number // 僅顯示tcp序列號
-b --badcksum (嘗試)發送具有錯誤IP校驗和數據包。許多系統將修復發送數據包的IP校驗和。所以你會得到錯誤UDP/TCP校驗和。
-M --setseq 設置TCP序列號
-L --setack 設置TCP的ack ------------------------------------- (不是 TCP 的 ACK 標志位)
-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 ------------------------------------- (設置 TCP 的 ACK 標志 位)
-U --urg set URG flag // 一大堆IP抱頭的設置。
-X --xmas set X unused flag (0x40)
-Y --ymas set Y unused flag (0x80)
–tcpexitcode 使用last tcp-> th_flags作為退出碼
–tcp-mss 啟用具有給定值的TCP MSS選項
–tcp-timestamp 啟用TCP時間戳選項來猜測HZ/uptime
使用Hping3構造拒絕服務類攻擊
1、ICMP Flood
ICMP(Internet Control Message Protocol–Internet控制消息協議)是網絡層的協議類似于UDP。ICMP遞送狀態消息,錯誤報告,回答某些請求,報告路由信息,并且常用于測試網絡的連通性和排查問題。
ICMP Floods類似于UDP不需要任何漏洞,只需要發送大量的ICMP數據包,在處理每一個數據包的時候資源消耗殆盡導致拒絕服務。
hping3 -c 10000 -d 120 --icmp -w 64 -p port --flood --rand-sourcet <目標IP>2、udp Flood
UDP洪泛是一種拒絕服務攻擊,其中大量的用戶數據報協議(UDP)數據包被發送到目標終端,目的是壓倒該設備的處理和響應能力
hping3 -c 50000 -d 120 --udp -w 64 -p port --flood --rand-source <目標IP>3、TCP ACK Flood
對于短時間內向目標發送大量的的TCP數據包,在處理每一個數據包的時候資源消耗殆盡導致拒絕服務。
hping3 -c 20000 -d 120 -A -w 64 -p 80 --flood --rand-source <目標IP>4、TCP-SYN Flood
TCP-SYN Flood攻擊又稱半開式連接攻擊,每當我們進行一次標準的TCP連接,都會有一個三次握手的過程,而TCP-SYN Flood在它的實現過程中只有前兩個步驟。這樣,服務方會在一定時間處于等待接收請求方ASK消息的狀態。由于一臺終端可用的TCP連接是有限的,如果惡意攻擊方快速連續地發送此類連接請求,則終端可用TCP連接隊列很快將會阻塞,系統資源和可用帶寬急劇下降,無法提供正常的網絡服務,從而造成拒絕服務。
hping3 -c 10000 -d 120 -S -w 64 -p 80 --flood --rand-source <目標IP>5、特殊標志位的Dos攻擊
FIN -F RST -F ACK -A SYN -S設置 FIN 和 RST 標志位的 dos 攻擊
正常情況下,FIN標志和RST標志是不能同時出現在一個TCP報文中的。而且RFC也沒有規定IP協議棧如何處理這樣的畸形報文,因此,各個操作系統的協議棧在收到這樣的報文后的處理方式也不同,攻擊者就可以利用這個特征,通過發送FIN和RST同時設置的報文,來判斷操作系統的類型,然后針對該操作系統,進行進一步的攻擊。
hping3 -c 10000 -d 120 -F -R -w 64 -p 80 --flood --rand-source <目標IP>設置 ACK 和 RST 標志位的 dos 攻擊
正常情況下,ACK標志和RST標志是不能同時出現在一個TCP報文中的。而且RFC也沒有規定IP協議棧如何處理這樣的畸形報文,因此,各個操作系統的協議棧在收到這樣的報文后的處理方式也不同,攻擊者就可以利用這個特征,通過發送ACK和RST同時設置的報文,來判斷操作系統的類型,然后針對該操作系統,進行進一步的攻擊。
hping3 -c 10000 -d 120 -A —R -w 64 -p 80 --flood --rand-source <目標IP>6、ICMP-Echo flood
ICMP-Echo flooding是指發送大量ICMP Echo數據包。這些數據包具有源IP(通常被欺騙以減少IP信譽機制的影響)和受害者的目標IP
hping3 -c 10000 -d 120 --icmp -C 0 -w 64 -p 80 --flood --rand-sourcet <目標IP>7、TCP Syn-Ack flood
SYN-ACK Flood攻擊正是利用了這一點,攻擊者利用工具或者操縱僵尸主機,向目標終端發送大量的SYN-ACK報文,這些報文都屬于憑空出現的第二次握手報文,終端忙于回復RST報文,導致資源耗盡,無法響應正常的請求。
hping3 -q -n -a 源ip -S -s 1134 --keep -p 515 -i --faster -c 100 <目標ip>8、Data ack and push flood
當與終端連接時,客戶端可以通過設置ACK標志來請求確認已接收到信息,或者它可以通過設置PUSH標志強制終端處理數據包中的信息。這兩個請求都要求終端執行比其他類型的請求更多的工作。
hping3 --flood --rand-source -PA -p PORT <目標ip>9、Tcp連接攻擊
Connection Flood是典型的并且非常的有效的利用小流量沖擊大帶寬網絡服務的攻擊方式,這種攻擊方式目前已經越來越猖獗。這種攻擊的原理是利用真實的IP地址向終端發起大量的連接,并且建立連接之后很長時間不釋放,占用終端的資源,造成終端終端上殘余連接(WAIT狀態)過多,效率降低,甚至資源耗盡,無 法響應其他客戶所發起的連接。
其中一種攻擊方法是每秒鐘向終端發起大量的連接請求,這類似于固定源IP的SYN Flood攻擊,不同的是采用了真實的源IP地址。通常這可以在防火墻上限制每個源IP地址每秒鐘的連接數來達到防護目的。但現在已有工具采用慢速連接的
方式,也即幾秒鐘才和終端建立一個連接,連接建立成功之后并不釋放并定時發送垃圾數據包給終端使連接得以長時間保持。這樣一個IP地址就可以和終端
建立成百上千的連接,而終端可以承受的連接數是有限的,這就達到了拒絕服務的效果
10、Large ping
ICMP(Internet Control Message Protocol–Internet控制消息協議)和IGMP(Internet Group Management Protocol–Internet組管理協議)是網絡層的協議類似于UDP。ICMP遞送狀態消息,錯誤報告,回答某些請求,報告路由信息,并且常用于測試網絡的連通性和排查問題。IGMP是IP網絡上的系統和相鄰路由用來建立和維護多播組成員關系的協議。
ICMP and IGMP Floods類似于UDP不需要任何漏洞,只需要發送大量的ICMP或IGMP數據包,在處理每一個數據包的時候資源消耗殆盡導致拒絕服務。
hping3 -d 501 --flood --rand-source -1 -p PORT <目標IP>11、固定源 ICMP 攻擊
偽裝IP攻擊。
hping3 -1 -a 偽裝IP 目標IP12、Ping of Death
Ping of death是一種拒絕服務攻擊,方法是由攻擊者故意發送大于65536比特的ip數據包給對方。Ping of death攻擊利用了Internet控制消息協議(ICMP)和最大傳輸單元(MTU)的特點,Ping命令發送ICMP回應請求(ICMP Echo-Request)并記錄收到ICMP回應回復(ICMP Echo-Reply)。MTU定義了具有不同媒體類型的網絡架構的單元最大傳輸量。
如果數據包大小大于MTU,數據包將被拆分,并在目的主機重新組合。當數據包被分解時,數據包會涵蓋一個“偏移”值,這個偏移值用于在目的主機重組數據。攻擊者可以將最后的數據片段替換為合理的偏移值和較大的數據包,這樣將會超過ICMP回應請求數據部分的數量,如果進行重組,目的計算機將會重新啟動或者崩潰。
hping3 -1 -d 70000 -c 1 <目標ip>13、源端口為 0
訪問UDP/TCP的0端口導致該事件的產生,這是一個不正常的訪問,暗示著非授權的網絡訪問或探測活動。
hping3 -c 10000 -d 120 --tcp -w 64 -p 0 --flood --rand-source +host <目標IP>hping3 -c 10000 -d 120 --ucp -w 64 -p 0 --flood --rand-source +host <目標IP>14、ICMP-Smurf attack
ICMP/SMURF攻擊利用的 是網絡廣播的原理來發送大量的連接,而包的源地址就是要攻 擊的機器本身的地址;因而所有接 收到此包的主機都將給包的源地 址發送一個ICMP回復包。
hping3 -1 -a 192.168.0.1 192.168.0.255hping3 -1 -a 目標ip 目標服務器廣播地址15、TCP-Land attack
著陸攻擊LAND Attack也是一種拒絕服務攻擊DOS。LAND 是Local Area Network Denial的縮寫,意思是局域網拒絕服務攻擊,翻譯為著陸攻擊只是一種錯誤的理解。攻擊原理為,攻擊機向目標機發送一個SYN的TCP包,包中的源地址被偽造為目標機的地址。當目標機收到包后,會向自己發送一個SYN+ACK的TCP包。然后,目標機向自己發送一個ACK包,這樣就自己和自己建立一個空連接。這個空連接會一直持續,直到超時。當目標機被這樣大量欺騙,建立大量空連接,消耗大量的系統資源,導致系統運行緩慢,甚至崩潰。
hping3 -S -c 1000000 -a <源IP> -p port <目標IP>16、fraggle attack
Fraggle攻擊對Smurf攻擊作了簡單的修改,使用的是UDP應答消息而非ICMP。
hping3 -2 -a 目標ip 目標服務器廣播地址hping3 -2 -a 192.168.0.1 192.168.0.255參考: http://www.360doc.com/document/12/0712/13/10339652_223772262.shtml
總結
以上是生活随笔為你收集整理的Hping3 拒绝服务攻击手册的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab中的imnoise信噪比,m
- 下一篇: 网络图结构中节点度分布的散点图