hping是用於生成和解析TCPIP協議數據包的開源工具。創作者是Salvatore Sanfilippo。目前最新版是hping3,支持使用tcl腳本自動化地調用其API。hping是安全審計、防火牆測試等工作的標配工具。它不僅能發送 ICMP 回應請求,它還可以支持 TCP、UDP、ICMP 和 RAW-IP 協議,它有一個路由跟蹤模式,能夠在兩個相互包含的通道之間傳送文件。Hping 常被用於檢測網絡和主機,其功能非常強大,可在多種操作系統下運行,如 Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOs X,Windows。因此用戶可以靈活對目標機進行細致地探測。
http://www.hping.org/download.html
參數如下:
-H --help 顯示幫助。
-v -VERSION 版本信息。
-c --count count 發送數據包的次數 關於countreached_timeout 可以在hping2.h里編輯。
-i --interval 包發送間隔時間(單位是毫秒)缺省時間是1秒,此功能在增加傳輸率上很重要,在idle/spoofing掃描時此功能也會被用到,你可以參考hping-howto獲得更多信息-fast 每秒發10個數據包。
-n -nmeric 數字輸出,象征性輸出主機地址。
-q -quiet 退出。
-I --interface interface name 無非就是eth0之類的參數。
-v --verbose 顯示很多信息,TCP回應一般如:len=46 ip=192.168.1.1 flags=RADF seq=0 ttl=255 id=0 win=0 rtt=0.4ms tos=0 iplen=40 seq=0 ack=1380893504 sum=2010 urp=0 -D --debug 進入debug模式當你遇到麻煩時,比如用HPING遇到一些不合你習慣的時候,你可以用此模式修改HPING,(INTERFACE DETECTION,DATA LINK LAYER ACCESS,INTERFACE SETTINGS,.......) -z --bind 快捷鍵的使用。 -Z --unbind 消除快捷鍵。
default mode TCP (缺省使用TCP進行PING處理) -O --rawip RAWIP模式,在此模式下HPING會發送帶數據的IP頭。 -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 http://www.target.host -9 --listen signatuer hping的listen模式,用此模式,HPING會接收指定的數據。 -a --spoof hostname 偽造IP攻擊,防火牆就不會記錄你的真實IP了,當然回應的包你也接收不到了。 -t --ttl time to live 可以指定發出包的TTL值。 -H --ipproto 在RAW IP模式里選擇IP協議。 -w --WINID UNIX ,WINDIWS的id回應不同的,這選項可以讓你的ID回應和WINDOWS一樣。 -r --rel 更改ID的,可以讓ID曾遞減輸出,詳見HPING-HOWTO。 -F --FRAG 更改包的FRAG,這可以測試對方對於包碎片的處理能力,缺省的“virtual mtu”是16字節。 -x --morefrag 此功能可以發送碎片使主機忙於恢復碎片而造成主機的拒絕服務。 -y -dontfrag 發送不可恢復的IP碎片,這可以讓你了解更多的MTU PATH DISCOVERY。 -G --fragoff fragment offset value set the fragment offset -m --mtu mtu value 用此項后ID數值變得很大,50000沒指定此項時3000-20000左右。 -G --rroute 記錄路由,可以看到詳悉的數據等等,最多可以經過9個路由,即使主機屏蔽了ICMP報文。 -C --ICMPTYPE type 指定ICMP類型,缺省是ICMP echo REQUEST。 -K --ICMPCODE CODE 指定ICMP代號,缺省0。 --icmp-ipver 把IP版本也插入IP頭。 --icmp-iphlen 設置IP頭的長度,缺省為5(32字節)。 --icmp-iplen 設置IP包長度。 --icmp-ipid 設置ICMP報文IP頭的ID,缺省是RANDOM。 --icmp-ipproto 設置協議的,缺省是TCP。 -icmp-cksum 設置校驗和。 -icmp-ts alias for --icmptype 13 (to send ICMP timestamp requests) --icmp-addr Alias for --icmptype 17 (to send ICMP address mask requests) -s --baseport source port hping 用源端口猜測回應的包,它從一個基本端口計數,每收一個包,端口也加1,這規則你可以自己定義。 -p --deskport [+][+]desk port 設置目標端口,缺省為0,一個加號設置為:每發送一個請求包到達后,端口加1,兩個加號為:每發一個包,端口數加1。 --keep 上面說過了。 -w --win 發的大小和windows一樣大,64BYTE。 -O --tcpoff Set fake tcp data offset. Normal data offset is tcphdrlen / 4. -m --tcpseq 設置TCP序列數。 -l --tcpck 設置TCP ack。 -Q --seqnum 搜集序列號的,這對於你分析TCP序列號有很大作用。
一、安裝
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
在安裝過程中報錯:
-
出現問題:ars.h:190:2: error: #error “Please, edit Makefile and add -DBYTE_ORDER_(BIG|LITTLE)_ENDIAN”
-
解決辦法:bytesex.h 在#if defined(__i386__) \ 前面添加 #define BYTE_ORDER_LITTLE_ENDIAN
-
出現問題:bytesex.h:22:3: 錯誤:#error can not find the byte order for this architecture, fix bytesex.h
-
解決方法:在#if defined(__i386__) \后面添加||defined(__x86_64__)\
-
出現問題:libpcap_stuff.c:20:21: 錯誤:net/bpf.h:沒有那個文件或目錄
-
解決辦法:yum install -y libpcap libpcap-devel
-
二者都已安裝,那么就無需yum安裝了,只需ln -sf /usr/include/pcap-bpf.h /usr/include/net/bpf.h
-
出現問題:/usr/bin/ld: cannot find -ltcl
-
解決方法:yum -y install tcl tcl-devel
下面為安裝時遇到的錯誤及解決方法:
[root@bqh-118 hping3-20051105]# ./configure
build byteorder.c...
create byteorder.h...
./configure: line 81: -: command not found
==> WARNING: no Tcl header files found!
--------------------------------------
system type: LINUX
LIBPCAP : PCAP=-lpcap
PCAP_INCLUDE :
MANPATH : /usr/local/man
USE_TCL :
TCL_VER :
TCL_INC :
LIBTCL : -ltcl -lm -lpthread
TCLSH :
(to modify try configure --help)
--------------------------------------
creating Makefile...
creating dependences...
在包含自 ars.h:20 的文件中,
從 apd.c:19:
bytesex.h:22:3: 錯誤:#error can not find the byte order for this architecture, fix bytesex.h
在包含自 apd.c:19 的文件中:
ars.h:190:2: 錯誤:#error "Please, edit Makefile and add -DBYTE_ORDER_(BIG|LITTLE)_ENDIAN"
ars.h:254:2: 錯誤:#error "Please, edit Makefile and add -DBYTE_ORDER_(BIG|LITTLE)_ENDIAN"
ars.h:323:2: 錯誤:#error "Please, edit Makefile and add -DBYTE_ORDER_(BIG|LITTLE)_ENDIAN"
解決辦法:在#if defined(__i386__) \后面添加||defined(__x86_64__)\
[root@bqh-118 hping3-20051105]# vim bytesex.h /* Original code from the Linux C library */ /* Copyright (C) 2000,2001 Salvatore Sanfilippo <antirez@invece.org> * This code is under the original GNU C library license (GPL) */ /* $Id: bytesex.h,v 1.1.1.1 2003/08/31 17:23:48 antirez Exp $ */ #ifndef ARS_BYTESEX_H #define ARS_BYTESEX_H #define BYTE_ORDER_LITTLE_ENDIAN #if defined(__i386__) \ ||defined(__x86_64__)\ || defined(__alpha__) \ || (defined(__mips__) && (defined(MIPSEL) || defined (__MIPSEL__))) #define BYTE_ORDER_LITTLE_ENDIAN #elif defined(__mc68000__) \ || defined (__sparc__) \ || defined (__sparc) \ || defined (__PPC__) \ || defined (__BIG_ENDIAN__) \ || (defined(__mips__) && (defined(MIPSEB) || defined (__MIPSEB__))) #define BYTE_ORDER_BIG_ENDIAN #else # error can not find the byte order for this architecture, fix bytesex.h #endif #endif /* ARS_BYTESEX_H */
繼續安裝
[root@bqh-118 hping3-20051105]# make
gcc -c -O2 -Wall -g main.c
gcc -c -O2 -Wall -g getifname.c
getifname.c: 在函數‘get_output_if’中:
getifname.c:343: 警告:傳遞‘getsockname’的參數 3 給指針時,目標與指針符號不一致
/usr/include/sys/socket.h:119: 附注:需要類型‘socklen_t * __restrict__’,但實參的類型為‘int *’
getifname.c: 在函數‘get_if_name’中:
getifname.c:61: 警告:此函數中的‘sa.sin_addr.s_addr’在使用前可能未初始化
gcc -c -O2 -Wall -g getlhs.c
gcc -c -O2 -Wall -g parseoptions.c
gcc -c -O2 -Wall -g datafiller.c
gcc -c -O2 -Wall -g datahandler.c
gcc -c -O2 -Wall -g binding.c
gcc -c -O2 -Wall -g logicmp.c
gcc -c -O2 -Wall -g waitpacket.c
gcc -c -O2 -Wall -g sendip.c
gcc -c -O2 -Wall -g sendicmp.c
gcc -c -O2 -Wall -g sendudp.c
gcc -c -O2 -Wall -g sendtcp.c
gcc -c -O2 -Wall -g cksum.c
gcc -c -O2 -Wall -g statistics.c
gcc -c -O2 -Wall -g version.c
gcc -c -O2 -Wall -g listen.c
gcc -c -O2 -Wall -g sendhcmp.c
gcc -c -O2 -Wall -g rtt.c
gcc -c -O2 -Wall -g relid.c
gcc -c -O2 -Wall -g sendip_handler.c
gcc -c -O2 -Wall -g libpcap_stuff.c
libpcap_stuff.c: 在函數‘pcap_recv’中:
libpcap_stuff.c:61: 警告:對指針賦值時目標與指針符號不一致
gcc -c -O2 -Wall -g ip_opt_build.c
gcc -c -O2 -Wall -g display_ipopt.c
gcc -c -O2 -Wall -g sendrawip.c
gcc -c -O2 -Wall -g send.c
gcc -c -O2 -Wall -g arsglue.c
gcc -c -O2 -Wall -g random.c
gcc -c -O2 -Wall -g scan.c
scan.c: 在函數‘receiver’中:
scan.c:458: 警告:對指針賦值時目標與指針符號不一致
gcc -c -O2 -Wall -g hstring.c
gcc -c -O2 -Wall -g script.c
gcc -c -O2 -Wall -g interface.c
gcc -c -O2 -Wall -g adbuf.c
adbuf.c: 在函數‘adbuf_addchar’中:
adbuf.c:130: 警告:初始化指針時目標與指針符號不一致
gcc -c -O2 -Wall -g hex.c
gcc -c -O2 -Wall -g apdutils.c
gcc -c -O2 -Wall -g sbignum.c
gcc -c -O2 -Wall -g sbignum-tables.c
gcc -c -O2 -Wall -g ars.c
ars.c: 在函數‘ars_multi_cksum’中:
ars.c:485: 警告:與字面字符串比較的結構是不可預測的
gcc -c -O2 -Wall -g apd.c
apd.c: 在函數‘ars_decode_hex’中:
apd.c:823: 警告:返回指針時目標與指針符號不一致
apd.c: 在函數‘ars_decode_string’中:
apd.c:852: 警告:返回指針時目標與指針符號不一致
gcc -c -O2 -Wall -g split.c
gcc -c -O2 -Wall -g rapd.c
gcc -o hping3 -O2 -Wall -g main.o getifname.o getlhs.o parseoptions.o datafiller.o datahandler.
o gethostname.o binding.o getusec.o opensockraw.o logicmp.o waitpacket.o resolve.o sendip.o sendicmp.o sendudp.o sendtcp.o cksum.o statistics.o usage.o version.o antigetopt.o sockopt.o listen.o sendhcmp.o memstr.o rtt.o relid.o sendip_handler.o libpcap_stuff.o memlockall.o memunlockall.o memlock.o memunlock.o ip_opt_build.o display_ipopt.o sendrawip.o signal.o send.o strlcpy.o arsglue.o random.o scan.o hstring.o script.o interface.o adbuf.o hex.o apdutils.o sbignum.o sbignum-tables.o ars.o apd.o split.o rapd.o -L/usr/local/lib -lpcap -ltcl -lm -lpthread/usr/bin/ld: cannot find -ltcl collect2: ld 返回 1 make: *** [hping3] 錯誤 1
解決方法: ln -s /usr/include/pcap.h /usr/include/net/bpf.h && yum -y install tcl tcl-devel
繼續安裝
[root@bqh-118 hping3-20051105]# make
gcc -o hping3 -O2 -Wall -g main.o getifname.o getlhs.o parseoptions.o datafiller.o datahandler.
o gethostname.o binding.o getusec.o opensockraw.o logicmp.o waitpacket.o resolve.o sendip.o sendicmp.o sendudp.o sendtcp.o cksum.o statistics.o usage.o version.o antigetopt.o sockopt.o listen.o sendhcmp.o memstr.o rtt.o relid.o sendip_handler.o libpcap_stuff.o memlockall.o memunlockall.o memlock.o memunlock.o ip_opt_build.o display_ipopt.o sendrawip.o signal.o send.o strlcpy.o arsglue.o random.o scan.o hstring.o script.o interface.o adbuf.o hex.o apdutils.o sbignum.o sbignum-tables.o ars.o apd.o split.o rapd.o -L/usr/local/lib -lpcap -ltcl -lm -lpthread
./hping3 -v
hping version 3.0.0-alpha-1 ($Id: release.h,v 1.4 2004/04/09 23:38:56 antirez Exp $)
NO TCL scripting support compiled in
use `make strip' to strip hping3 binary
use `make install' to install hping3
解決方法:make strip && make install
繼續安裝
[root@bqh-118 hping3-20051105]# make install
cp -f hping3 /usr/sbin/
chmod 755 /usr/sbin/hping3
ln -s /usr/sbin/hping3 /usr/sbin/hping
ln -s /usr/sbin/hping3 /usr/sbin/hping2
@@@@@@ WARNING @@@@@@
Can't install the man page: /usr/local/man/man8 does not exist
ok安裝成功!下面我們測試一下是否可用:
[root@bqh-118 hping3-20051105]# hping3 -c 4 -n -i 2 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=0.3 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.5 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=0 flags=RA seq=2 win=0 rtt=0.5 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=0 flags=RA seq=3 win=0 rtt=0.5 ms
--- 192.168.43.117 hping statistic ---
4 packets tramitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.3/0.4/0.5 ms
注:
-c 發送4個報文 -n 不進行名稱解析 -i 包發送時間間隔。
顯示信息解釋:len,返 回ip報文大小;ttl; id,IP的ID域;sport,源端口,flags,返回的IP報設置的TCP標志 (R:RESET,A:ACK;S:SYN;F:FIN;P:PUSH;U:URGENT);seq:序列號;win:tcp窗口大小;rtt:往返 時,EIGRP似乎有這個設置。
若探測的主機阻止了ICMP報文了,也可以顯示對方主機是否運行的信息,例如:
我們在另一台機器上iptables阻止icmp包響應。
[root@bqh-117 ~]# iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
[root@bqh-117 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- anywhere anywhere icmp echo-request
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
現在我們ping192.168.43.117機器發現已被阻止了
我們用hping3命令來測試一下:
[root@bqh-118 ~]# hping3 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=0.3 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.4 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=0 flags=RA seq=2 win=0 rtt=0.4 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=0 flags=RA seq=3 win=0 rtt=0.5 ms
^C
--- 192.168.43.117 hping statistic ---
4 packets tramitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.3/0.4/0.5 ms
使用Hping3測試防火牆規則
使用Hping3指定各種數據包字段,依次對防火牆進行詳細測試,詳情請跳:http://0daysecurity.com/articles/hping3_examples.html
hping有類似NMAP的方法來檢測並收集關於潛在的防火牆的規則和能力的信息。如果一個主機對ping沒有任何相應,而對hping有響應,假定目標的主機為192.168.43.117,一旦主機對hping作出了響應,那么下一步我們先用nmap先進行一個端口掃描,
當然這個hping2也可以作掃描。如下:
[root@bqh-118 ~]# hping2 --scan 21-25 -S 192.168.43.117
Scanning 192.168.43.117 (192.168.43.117), port 21-25
5 ports to scan, use -V to see all the replies
+----+-----------+---------+---+-----+-----+-----+
|port| serv name | flags |ttl| id | win | len |
+----+-----------+---------+---+-----+-----+-----+
22 ssh : .S..A... 64 0 14600 46
All replies received. Done.
Not responding ports:
[root@bqh-118 ~]# nmap -sT -P0 -p 21-25 192.168.43.117
Starting Nmap 5.51 ( http://nmap.org ) at 2019-06-08 06:42 CST
Nmap scan report for bqh-117 (192.168.43.117)
Host is up (0.00018s latency).
PORT STATE SERVICE
21/tcp closed ftp
22/tcp open ssh
23/tcp closed telnet
24/tcp closed priv-mail
25/tcp closed smtp
Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
以上信息顯示除了ssh端口外,其他端口被阻塞.
然后可以試試用hping向各個被阻塞的端口發送空的報文.用-p的開關,可以對指定的目的端口進行hping
[root@bqh-118 ~]# hping2 -c 2 -n -i 2 -p 21 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=21 flags=RA seq=0 win=0 rtt=0.3 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=21 flags=RA seq=1 win=0 rtt=0.4 ms
--- 192.168.43.117 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.3/0.3/0.4 ms
[root@bqh-118 ~]# hping2 -c 2 -n -i 2 -p 23 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=23 flags=RA seq=0 win=0 rtt=0.2 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=23 flags=RA seq=1 win=0 rtt=0.5 ms
--- 192.168.43.117 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.3/0.5 ms
[root@bqh-118 ~]# hping2 -c 2 -n -i 2 -p 24 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=24 flags=RA seq=0 win=0 rtt=0.2 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=24 flags=RA seq=1 win=0 rtt=0.4 ms
--- 192.168.43.117 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.3/0.4 ms
[root@bqh-118 ~]# hping2 -c 2 -n -i 2 -p 25 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=25 flags=RA seq=0 win=0 rtt=0.3 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=25 flags=RA seq=1 win=0 rtt=0.4 ms
--- 192.168.43.117 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.3/0.4/0.4 ms
端口21 23 24 25 獲得了RST/ACK響應.這說明,雖然這些端口被禁止PING,但沒有工具在該端口上監聽,然而為什么NMAP沒有得到響應,因為NMAP雖然使用 TCP連接,但它在TCP報頭中設置了TCP SYN標記位,而HPING 使用了空標記的報文,這就告訴我們
說,在主機192.168.18.117上只阻塞進入的TCP連接。
接下來使用hping創建一個SYN報文然后將其發送到5個端口再測試。
[root@bqh-118 ~]# hping2 -c 2 -n -i 2 -S -p 21 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): S set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=21 flags=RA seq=0 win=0 rtt=0.4 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=21 flags=RA seq=1 win=0 rtt=0.4 ms
--- 192.168.43.117 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.4/0.4/0.4 ms
[root@bqh-118 ~]# hping2 -c 2 -n -i 2 -S -p 22 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): S set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=22 flags=SA seq=0 win=14600 rtt=0.3 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=22 flags=SA seq=1 win=14600 rtt=0.6 ms
--- 192.168.43.117 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.3/0.4/0.6 ms
[root@bqh-118 ~]# hping2 -c 2 -n -i 2 -S -p 23 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): S set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=23 flags=RA seq=0 win=0 rtt=0.3 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=23 flags=RA seq=1 win=0 rtt=0.5 ms
--- 192.168.43.117 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.3/0.4/0.5 ms
[root@bqh-118 ~]# hping2 -c 2 -n -i 2 -S -p 24 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): S set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=24 flags=RA seq=0 win=0 rtt=0.3 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=24 flags=RA seq=1 win=0 rtt=0.4 ms
--- 192.168.43.117 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.3/0.4/0.4 ms
[root@bqh-118 ~]# hping2 -c 2 -n -i 2 -S -p 25 192.168.43.117
HPING 192.168.43.117 (eth0 192.168.43.117): S set, 40 headers + 0 data bytes
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=25 flags=RA seq=0 win=0 rtt=0.2 ms
len=46 ip=192.168.43.117 ttl=64 DF id=0 sport=25 flags=RA seq=1 win=0 rtt=0.5 ms
--- 192.168.43.117 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.3/0.5 ms
只有22端口響應,說明SSH端口是開放的,但有工具在上面監聽,該端口沒有進行過濾。
-----Hping 是功能最強大的一款工具,可以測試防火牆功能、端口掃描、Idle 掃描、拒絕服務攻擊、木馬功能等。
參考資料:
https://docs.microsoft.com/en-us/sysinternals/downloads/psping
http://zhjwpku.com/2016/12/17/tcpping-hping-mtr.html
https://www.slashroot.in/what-tcp-ping-and-how-it-usedyouy