hping3的使用
Hping 是面向命令行的,用于生成和解析 TCP/IP 協議數據包匯編/分析的開源工具
常見的應用是:掃描端口、偽造地址和洪水攻擊
hping3中的參數如下:
? -h ?--help? ? ? ? ? ? ?顯示幫助
? -v ?--version ? ? ?? 顯示版本
? -c ?--count ? ? ? ?? ?發送數據包的數目
? -i? ?--interval? ? ? ? 發送數據包間隔的時間 (uX即X微秒, 例如: -i u1000)
? ? ? ?--fast? ? ? ? ? ? ? 等同 -i u1000?(每秒10個包)
? ? ? ? --faster? ? ? ? ? ?等同 -i u100?(每秒100個包)
? ? ? ? --flood? ? ? ? ? ? 盡最快發送數據包,不顯示回復
? -n? ?--numeric ? ? ?數字化輸出,象征性輸出主機地址
? -q? ?--quiet? ? ? ? ? ?靜默模式,只顯示最后的統計數據
? -I(大i)? ? --interface ? ??指定需要使用的網絡接口 (默認路由接口)
? -V ?--verbose ? ? ??詳細模式
? -D ?--debug ? ? ? ?? 調試信息
? -z? ?--bind? ? ? ? ? ? ?將“ctrl+z”組合鍵與發送包的TTL值綁定,按一次TTL值加1
? -Z ?--unbind ? ? ??? ?取消綁定 ctrl+z 鍵
? ? ? ?--beep? ? ? ? ? ? ?對于接收到的每個匹配數據包蜂鳴聲提示
??
模式選擇 ?
? default mode ? ? ??? ?默認模式是TCP
? -0 ?--rawip? ? ? ? ? ? ? RAW IP模式,原始IP模式。在此模式下Hping3會發送帶數據的IP頭。即裸IP方式。使用RAWSOCKET方式
? -1 ?--icmp ? ? ? ??? ?ICMP模式,此模式下Hping3會發送IGMP應答包,你可以用 --icmptype,--icmpcode 選項發送其他類型/模式的ICMP報文
? -2 ?--udp ? ? ? ? ?? ?UDP模式,默認Hping3會發送UDP報文到主機的0端口,你可以用 --baseport,--destport,--keep 選項指定端口
? -8 ?--scan ? ? ? ??? ?掃描模式,掃描指定的端口
? ? ? ? ? ? ? ? ? ? ?? ?Example: hping3 --scan 1-30,70-90 -S www.target.host
? -9 ?--listen ? ? ??? ?監聽模式
? ??
IP 模式 ?
? -a ?--spoof ? ? ? ?? ?源地址欺騙。偽造自身IP,對目的進行攻擊,防火墻就不會記錄你的真實IP了,當然回應的包你也接收不到了
?--rand-dest ? ?? ?隨機目的地址模式,詳細使用 man 命令
?--rand-source ?? ?隨機源地址模式,詳細使用 man 命令
? -t ?--ttl ? ? ? ? ?? ?指定 ttl 值 (默認 64)
? -N ?--id ? ? ? ? ??? ?hping3 中的 ID 值,缺省為隨機值
? -W ?--winid ? ? ? ?? ?使用 win* id 字節順序,針對不同的操作系統。UNIX,WINDIWS的id回應不同,這選項可以讓你的ID回應和WINDOWS一樣
? -r ?--rel ? ? ? ? ?? ?相對id字段(用于評估主機流量) ?//更改ID的,可以讓ID曾遞減輸出,詳見HPING-HOWTO
? -f ?--frag ? ? ? ??? ?將數據包拆分成更多的frag,可能通過弱訪問控制列表(acl)?? ?//分段,可以測試對方或者交換機碎片處理能力,缺省16字節
? -x ?--morefrag ? ??? ?設置更多的分段標志 ? ?//大量碎片,淚滴攻擊
? -y ?--dontfrag ? ??? ?設置不分段標志 ? ?//發送不可恢復的IP碎片,這可以讓你了解更多的MTU PATH DISCOVERY
? -g ?--fragoff ? ? ?? ?set the fragment offset ? ?//設置斷偏移
? -m ?--mtu ? ? ? ? ?? ?設置虛擬最大傳輸單元,當大于MTU時分段;如果數據包大于MTU,等同于使用 --frag 選項
? -o ?--tos ? ? ? ? ?? ?tos字段,服務類型,缺省值為0x00,通過 hping3 --tos help 命令查看詳細
? -G ?--rroute ? ? ?? ??? ?記錄IP路由,并顯示路由緩沖
? ? ? --lsrr ? ? ? ??? ?松散源路由并記錄路由 (loose source routing and record route)
? ? ? --ssrr ? ? ? ??? ?嚴格源路由并記錄路由 (strict source routing and record route)
? -H ?--ipproto ? ? ?? ?設置IP協議字段,僅在RAW IP模式下使用
??
ICMP 模式
? -C ?--icmptype ? ??? ?icmp類型,默認回顯(echo)請求
? -K ?--icmpcode ? ??? ?icmp代號,默認0
? ? ? --force-icmp ??? ?發送所有icmp類型(默認僅發送支持的類型)
? ? ? --icmp-gw ? ? ?? ?設置ICMP重定向網關地址(默認0.0.0.0)
? ? ? --icmp-ts ? ? ?? ?等同 --icmp --icmptype 13 (ICMP 時間戳)
? ? ? --icmp-addr ? ?? ?等同 --icmp --icmptype 17 (ICMP 地址子網掩碼)
? ? ? --icmp-help ? ?? ?顯示其他icmp選項幫助
??
UDP/TCP 模式
? -s ?--baseport ? ??? ?設置源端口,默認為隨機源端口
? -p ?--destport ? ??? ?設置目的端口,默認端口為0
? -k ?--keep ? ? ? ??? ?保持源端口不變
? -w ?--win ? ? ? ? ?? ?win的滑動窗口。windows發送字節(默認64)
? -O ?--tcpoff ? ? ??? ?set fake tcp data offset(instead of tcphdrlen / 4) ? ?//設置偽造tcp數據偏移量(取代tcp地址長度/4)
? -Q ?--seqnum ? ? ??? ?僅顯示tcp序列號
? -b ?--badcksum ? ??? ?(嘗試)發送具有錯誤IP校驗和的數據包,所以你會得到錯誤UDP/TCP校驗和。但是許多系統會修復發送數據包的IP校驗和
? -M ?--setseq ? ? ??? ?設置TCP序列號
? -L ?--setack ? ? ??? ?set 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
?通用設置 ?
? -d ?--data ? ? ? ??? ?發送數據包的大小,默認為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 ? ?? ?不要在traceroute模式下計算或顯示RTT信息
ARS packet description (new, unstable)
? ? ? --apd-send ? ??? ?發送用APD描述的數據包(參見docs/APD.txt)
例:?
端口掃描:hping3 -8 1-1024 -S 目標IP地址或域名
?偽造隨機源地址:hping3 --rand-source 目標IP地址或域名
?通過wireshark抓到的包
(請忽略那兩條arp的)?
DOS攻擊:hping3 -q --rand-source --id 0 --icmp -d 56 --flood 192.168.107.130
? ? ? ? ? ? ? ? ? hping3 -c 10000 -d 120 -S -w 64 -p 80 --flood --rand-source IP地址或域名
-q 使用靜默模式
--rand-source? 偽造源地址
-d 56? 發送到目的PC的每個數據包的大小
--id 0 ID值0
--icmp? 發送icmp包
-flood? 洪水模式
-c 10000 發送的數據包的數量
-S? 只發送SYN數據包
-w 64 TCP窗口大小
-p 80? 端口號
總結
- 上一篇: 《寄生虫》横扫奥斯卡,Python告诉你
- 下一篇: vue项目(webpack+mintui