1. 程式人生 > >hping原理、安裝、使用詳解介紹

hping原理、安裝、使用詳解介紹

【原理基礎】 
  Hping是一個命令列下使用的TCP/IP資料包組裝/分析工具,其命令模式很像Unix下的ping命令,但是它不是隻能傳送ICMP迴應請求,它還可以支援TCP、UDP、ICMP和RAW-IP協議,它有一個路由跟蹤模式,能夠在兩個相互包含的通道之間傳送檔案。Hping常被用於檢測網路和主機,其功能非常強大,可在多種作業系統下執行,如Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOs X,Windows。

Hping的主要功能有: 

  防火牆測試 

  實用的埠掃描 

  網路檢測,可以用不同的協議、服務型別(TOS)、IP分片 


  手工探測MTU(最大傳輸單元)路徑 

  先進的路由跟蹤,支援所有的協議 

  遠端作業系統探測 

  遠端的執行時間探測 

  TCP/IP堆疊審計 

 Hping的詳細引數 


   -h --help 顯示幫助資訊 

   -v --version 顯示Hping的版本資訊 

   -c --count 指定資料包的次數 

   -i --interval 指定發包間隔為多少毫秒,如-i m10:表示發包間隔為10毫秒 

附秒、毫秒、微秒進率

1s=1000ms(毫秒)=1000000(微秒)
       1s=10^3ms(毫秒)=10^6μs(微秒)

   --fast 與 -i m100等同,即每秒鐘傳送10個數據包 

   -n --numeric 指定以數字形式輸出 

   -q --quiet 退出Hping 

   -I --interface 指定IP,如本機有兩塊網絡卡,可通過此引數指定傳送資料包的IP地址。如果不指定則預設使用閘道器IP 

   -V --verbose 冗餘模式 

   -D --debug 除錯資訊 

   -z --bind 將ctrl+z 繫結到ttl,預設使用DST埠 

   -Z --unbind 解除ctrl+z的繫結 

  指定所用的模式: 

   預設模式 TCP模式 

   -0 --rawip RAW IP 模式 

   -1 --icmp ICMP 模式 

   -2 --udp UDP 模式 

   -8 --scan 掃描模式. 

   例: hping --scan 1-30,70-90 -S www.target.host 

   -9 --listen 監聽模式 

  IP選項: 

   -a --spoof 源地址欺騙 

   --rand-dest 隨機目的地址模式 

   --rand-source 隨機源目的地址模式 

   -t --ttl ttl值,預設為64 

   -N --id 指定id,預設是隨機的 

   -W --winid 使用win*的id 位元組順序 

   -r --rel 相對的id區域 

   -f --frag 將資料包分片後傳輸(可以通過薄弱的acl(訪問控制 

   列表)) 

   -x --morefrag 設定更多的分片標記 

   -y --dontfrag 設定不加分片標記 

   -g --fragoff 設定分片偏移 

   -m --mtu 設定虛擬MTU, 當資料包>MTU時要使用--frag 進行分片 

   -o --tos 指定服務型別,預設是0x00,,可以使用--tos help檢視幫助 

   -G --rroute 包含RECORD_ROUTE選項並且顯示路由快取 

   --lsrr 釋放源路記錄 

   --ssrr 嚴格的源路由記錄 

   -H --ipproto 設定協議範圍,僅在RAW IP模式下使用 

  ICMP選項 

   -C --icmptype 指定icmp型別(預設型別為回顯請求) 

   -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 指定資料包大小,預設為64 

   -O --tcpoff 設定假的TCP資料偏移 

   -Q --seqnum 僅顯示TCP序列號 

   -b --badcksum 嘗試傳送不正確IP校驗和的資料包 

  許多系統在傳送資料包時使用固定的IP校驗和,因此你會得到不正確的UDP/TCP校驗和. 

   -M --setseq 設定TCP序列號 

   -L --setack 使用TCP的ACK(訪問控制列表) 

   -F --fin 使用FIN標記set FIN flag 

   -S --syn 使用SNY標記 

   -R --rst 使用RST標記 

   -P --push 使用PUSH標記 

   -A --ack 使用 ACK 標記 

   -U --urg 使用URG標記 

   -X --xmas 使用 X 未用標記 (0x40) 

   -Y --ymas 使用 Y 未用標記 (0x80) 

   --tcpexitcode 最後使用 tcp->th_flags 作為退出程式碼 

   --tcp-timestamp 啟動TCP時間戳選項來猜測執行時間 

  常規選項 

   -d --data 資料大小,預設為0 

   -E --file 從指定檔案中讀取資料 

   -e --sign 增加簽名 

   -j --dump 以十六進行形式轉存資料包 

   -J --print 轉存可輸出的字元 

   -B --safe 啟用安全協議 

   -u --end 當通過- -file指定的檔案結束時停止並顯示,防止檔案再從頭開始 

   -T --traceroute 路由跟蹤模式 

   --tr-stop 在路由跟蹤模式下當收到第一個非ICMP資料包時退出 

   --tr-keep-ttl 保持源TTL,對監測一個hop有用 

   --tr-no-rtt 使用路由跟蹤模式時不計算或顯示RTT資訊 

  ARS 資料包描述(新增加的內容,暫時還不穩定) 

   --apd-send 傳送用描述APD的資料包 

=============================================================

HPING 使用方法

一、HPING和ping的區別:

典型ping程式使用的是ICMP回顯請求來測試,而HPING可以使用任何IP報文,包括ICMP、TCP、UDP、RAWSOCKET。

二、下載:

HTTP://WWW.HPING.ORG/

三、安裝(CentOS 5.5 64)  

安裝過程沒有想象中的順利,測試了好長時間才成功!!!

1、安裝基礎庫

[[email protected] ~]# yum -y install gcc libpcap-devel   tcl-devel

注意:此環境必須安裝tcl-devel包才可以,不然一直出錯,所表現的錯誤在下面已一一列出,請參閱下面提示

2、下載原始碼包

[[email protected] ~]# wget http://www.hping.org/hping3-20051105.tar.gz

3、編譯安裝

[[email protected] ~]# tar -zxvf hping3-20051105.tar.gz 

[[email protected] ~]# cd hping3-20051105

[[email protected] hping3-20051105]# ./configure

。。。。。。。。。。。。

creating Makefile...

creating dependences...

In file included from ars.h:20,

                 from apd.c:19:

bytesex.h:22:3: error: #error can not find the byte order for this architecture, fix bytesex.h

In file included from apd.c:19:

ars.h:190:2: error: #error "Please, edit Makefile and add -DBYTE_ORDER_(BIG|LITTLE)_ENDIAN"

ars.h:254:2: error: #error "Please, edit Makefile and add -DBYTE_ORDER_(BIG|LITTLE)_ENDIAN"

ars.h:323:2: error: #error "Please, edit Makefile and add -DBYTE_ORDER_(BIG|LITTLE)_ENDIAN"

。。。。。。。。。。。。。。。。。。。

解決方法:

從錯誤提示上看,又是什麼高位前低位後到問題,開啟Makefile,找了好久也找不到去哪兒新增這個環境變數,遂Google之,原來是因為64位機到緣故,遂修改上面說到的 bytesex.h (新增紅色區域部分)

[[email protected] hping3-20051105]# vi bytesex.h

/* Original code from the Linux C library */

/* Copyright (C) 2000,2001 Salvatore Sanfilippo <[email protected]>

 * 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

#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 */

繼續安裝。。。

[[email protected] hping3-20051105]# make                                             

gcc -c -O2 -Wall    -g  main.c

gcc -c -O2 -Wall    -g  getifname.c

getifname.c: In function ‘get_output_if’:

getifname.c:343: warning: pointer targets in passing argument 3 of ‘getsockname’ differ in signedness

。。。。。。。。。。

gcc -c -O2 -Wall    -g  libpcap_stuff.c

libpcap_stuff.c:20:21: error: net/bpf.h: No such file or directory

libpcap_stuff.c: In function ‘pcap_recv’:

libpcap_stuff.c:61: warning: pointer targets in assignment differ in signedness

make: *** [libpcap_stuff.o] Error 1   

提示我bpf.h檔案未找到,印象中這個檔案應該是libpcap的一部分才是阿~~~

按如下提示作個連結

相關推薦

NFS服務器原理安裝配置附案例演練

隨機選擇 span 通訊 操作系統 不同 網絡 定義 重新啟動 exportfs NFS服務器原理和安裝配置詳解附案例演練 1、什麽是NFS服務器   NFS就是Network File System的縮寫,它最大的功能就是可以通過網絡,讓不同的機器、不同的操作系統可以共享

使用LVS實現負載均衡原理安裝配置

配置 png 負載均衡 iptables .cn 詳解 文章 配置詳解 logs LVS是一個開源軟件,由章文嵩博士於1998年5月創立,可以實現Linux平臺下的簡單負載均衡。LVS是Linux Virtual Server的簡寫,是一個虛擬的服務器集群系統。LVS是基於

使用LVS負載均衡搭建web群集的原理安裝配置

chmod 特點 Go 內核空間 col rpc mac地址 網絡文件系統 IT 一、負載均衡LVS基本介紹 LVS是 Linux Virtual Server 的簡稱,也就是Linux虛擬服務器。這是一個由章文嵩博士發起的一個開源項目,它的官方網站是 http://www

使用 LVS 實現負載均衡原理安裝配置

負載均衡叢集是 load balance 叢集的簡寫,翻譯成中文就是負載均衡叢集。常用的負載均衡開源軟體有nginx、lvs、haproxy,商業的硬體負載均衡裝置F5、Netscale。這裡主要是學習 LVS 並對其進行了詳細的總結記錄。 一、負載均衡LVS基本介

使用LVS實現負載均衡原理安裝配置(轉)

bin 瀏覽器 gate 裏的 高性能 target 相關 asq 空間 負載均衡集群是 load balance 集群的簡寫,翻譯成中文就是負載均衡集群。常用的負載均衡開源軟件有nginx、lvs、haproxy,商業的硬件負載均衡設備F5、Netscale。這裏主要是

hping原理安裝使用介紹

【原理基礎】    Hping是一個命令列下使用的TCP/IP資料包組裝/分析工具,其命令模式很像Unix下的ping命令,但是它不是隻能傳送ICMP迴應請求,它還可以支援TCP、UDP、ICMP和RAW-IP協議,它有一個路由跟蹤模式,能夠在兩個相互包含的通道

syslog日誌服務器安裝卸載如何安裝和卸載EventLog Analyzer

技術 src 如何 RoCE analyze sys ESS watermark 詳解 syslog、日誌服務器安裝、卸載詳解、如何安裝和卸載EventLog Analyzer

Hibernate_day01---Hibernate環境搭建配置檔案核心api介紹

JavaEE三層結構對應的框架 1) web層:struts2框架 2) service層:spring框架 3)dao層:hibernate框架 -- 對資料庫進行crud操作 什麼是框架: 可複用的設計構件 作用:可以少寫一部分程式碼。使用框架寫程式,會幫我們實現一部

python中呼叫R語言通過rpy2 進行互動安裝配置(R_USERR_HOME配置)

python中呼叫R語言通過rpy2 進行詳解 文章目錄 python中呼叫R語言通過rpy2 進行詳解 1.R語言的安裝: 2.Rpy2工具的安裝和配置 3.pycharm中使用R語言配置

OpenVPN下載安裝配置及使用

原文:http://www.cnblogs.com/CakaSWM/p/5582236.html 一、目的: 通過雲伺服器的外網地址,將沒有外網的伺服器的埠地址轉發到外網,使其能夠通過外網進行訪問。 二、原理:   1.虛擬專用網VPN   虛擬專用網VPN(virt ual p

H264編碼原理以及IPB幀

    reference:http://www.cnblogs.com/cy568searchx/p/6125031.html     H264是新一代的編碼標準,以高壓縮高質量和支援多種網路的流媒體傳輸著稱,在編碼方面,我理解的他的理論依據是:參照一段時間內影象的統計結

物化檢視--介紹建立方法例子

物化檢視是包括一個查詢結果的資料庫物件,它是遠端資料的的本地副本,或者用來生成基於資料表求和的彙總表。物化檢視儲存基於遠端表的資料,也可以稱為快照。對於複製,物化檢視允許你在本地維護遠端資料的副本,這些副本是隻讀的。如果你想修改本地副本,必須用高階複製的功能。當你想從一個表

PHP 5.6.39 安裝配置日誌配置

PHP軟體版本5.6.39 一、PHP的編譯安裝管理:① : php編譯安裝,php的編譯安裝依賴的庫比較多,編譯安裝會稍微難一點yum -y install epel-release [安裝epel源]yum -y install gcc gcc-c++ make pcre pcre-devel zlib

爬蟲原理與會話保持(cookiessession)--python實現

一、爬蟲原理     我們知道網際網路是由大量計算機和網路構成的複雜系統,我們可以將其形象的比喻成一張蜘蛛網。網路的節點是計算機,計算機中儲存著大量的資料。爬蟲程式就是通過網路去採集指定計算機中資料的工具。一般來說,我們採集的資料大多是網頁上的資料,

資料庫概述mysql-5.7.11-winx64.zip 的下載安裝配置和使用(windows裡安裝)圖文

本博文的主要內容有   .資料庫的概述   .mysql-5.7.11-winx64.zip 的下載     .mysql-5.7.11-winx64.zip 的安裝   .mysql-5.7.11-winx64.zip 的配置   .mysql-5.7.11-winx64.zip 的使用

linux軟體安裝aptyumdnf 和 pkg包安裝

介紹 包管理系統除了安裝軟體外,它還提供了工具來更新已經安裝的包。包儲存庫有助於確保你的系統中使用的程式碼是經過審查的,並且軟體的安裝版本已經得到了開發人員和包維護人員的認可。 在配置伺服器或開發環境時,我們最好了解下包在官方儲存庫之外的情況。某個發行版的穩定版本中的包有

Cloudera CDH Impala本地通過Parcel安裝配置

詳細見連結: http://www.cnblogs.com/shudonghe/archive/2013/06/19/3145013.html http://www.cnblogs.com/shudonghe/archive/2013/06/18/3142796.

mongodb(win7x64)下載安裝服務配置與使用

1.去MongoDB官網https://www.mongodb.com/下載所需要的資料庫版本,此處以mongodb-win32-x86_64-2008plus-ssl-3.4.2-signed為例 2.雙擊所下載的安裝程式進行安裝,預設安裝路徑為C:\Program Fi

SVN的安裝使用許可權設定

svn伺服器配置及客戶端安裝步驟 步驟一:解壓壓縮檔案(svn-win32-1.6.6.zip) 步驟二:將解壓後的資料夾(svn-win32-1.6.6)拷貝到D盤根目錄下 步驟三:複製"D:\svn-win32-1.6.6\bin"到環境變數path,                前後最好加上分號 步驟

Mac下Brackets安裝EmmetBeauty外掛 (步驟配圖)

剛寫完上一篇Sublime安裝外掛,想到Brackets也需要安裝Emmet外掛,於是探索下發現安裝步驟非常簡潔,記錄下 Sublime安裝外掛連結: http://blog.csdn.net/lovechris00/article/details/51678930 下面