Upgrade to Pro — share decks privately, control downloads, hide ads and more …

hpingで作るパケット / network packet craft by hping

takahoyo
August 29, 2014

hpingで作るパケット / network packet craft by hping

第20回 「ネットワークパケットを読む会」で発表したスライドになります。
https://atnd.org/events/54939

takahoyo

August 29, 2014
Tweet

More Decks by takahoyo

Other Decks in Programming

Transcript

  1. hpingとは • ⾃自由にパケットの変更更して送信できるツール • pingコマンドのようなインターフェース • TCP ,  UDP ,

     ICMP ,  RAWIPをサポート • パケットのオプションも変更更可能なものが多い • ポートスキャンやtraceroute等も可 • つまり… HentaiなPing!! (ただし、10年年前からアップデートがない…)
  2. インストール⽅方法 • Linux • apt-‐‑‒get  install  hping3 • Mac •

    brew  install  hping • MacPortsは知らないです… • Windows • 2.0なら実⾏行行ファイルを公式からダウンロード可 • ソースコードをダウンロードしてコンパイルでも可 • http://www.hping.org/download.php
  3. 実験環境 • hpingを使うホスト • IPアドレス:192.168.11.13 • OS:Mac  OS  X  10.9.4

    • hping 3.0.0-‐‑‒alpha-‐‑‒1  (2004/04/09にリリースらしい) • パケットを受けるホスト • IPアドレス:192.168.11.15 • OS:CentOS  6.5 • Wireshark
  4. 基本オプション • -‐‑‒h  :  ヘルプの表⽰示 • -‐‑‒c  X回 :  パケットをX回送信

    • -‐‑‒i Y秒 :  パケットをY秒毎に送信 uy μ秒 :  パケットをy  μ秒毎に送信 (pingにはない)(例例:u100) • -‐‑‒-‐‑‒ (fast  |  faster  |  flood):floodは出来るだけ速く送信(危 • -‐‑‒V  :詳細表⽰示
  5. モード Mode 詳細 default TCPパケットを送信 -‐‑‒0 TCPやUDPがない状態で送信 (RAW  IP) -‐‑‒1

    ICMPパケットを送信 -‐‑‒2 UDPパケットを送信 -‐‑‒8 ポートスキャン -‐‑‒9 リッスンモード
  6. TCP関連 -‐‑‒s  (-‐‑‒-‐‑‒baseport) 最初の送信元ポートの変更更 -‐‑‒p  (-‐‑‒-‐‑‒destport) 送信先ポートの変更更 -‐‑‒M  (-‐‑‒-‐‑‒setseq) シーケンス番号の設定

    -‐‑‒L (-‐‑‒-‐‑‒setack) ACK番号の設定 各フラグの設定 -‐‑‒Y:CWR -‐‑‒X:ECN -‐‑‒U:URG -‐‑‒A  : ACK -‐‑‒P:PUSH -‐‑‒R:RESET -‐‑‒S:SYN -‐‑‒F:FIN -‐‑‒w  (-‐‑‒-‐‑‒win) ウインドウサイズの変更更
  7. その他 • -‐‑‒d  A  byte:  Abyteのデータを付与して送信 • -‐‑‒d  C byte

     -‐‑‒E  filename:filenameの先頭 C byteをデータとし て付与して送信 • -‐‑‒j:16進数形式でパケットを表⽰示 (Wirehsark左下部と同様) • -‐‑‒J:印字可能⽂文字でパケットを表⽰示 (Wireshark右下部と同様) • -‐‑‒T:tracerouteモードで使⽤用