Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

hpingで作るパケット

8,838 views

Published on

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

Published in: Engineering
  • Be the first to comment

hpingで作るパケット

  1. 1. で作るパケット @takahoyo
  2. 2. hpingとは •自由にパケットの変更して送信できるツール •pingコマンドのようなインターフェース •TCP, UDP, ICMP, RAWIPをサポート •パケットのオプションも変更可能なものが多い •ポートスキャンやtraceroute等も可 •つまり… HentaiなPing!! (ただし、10年前からアップデートがない…)
  3. 3. インストール方法 •Linux •apt-get install hping3 •Mac •brew install hping •MacPortsは知らないです… •Windows •2.0なら実行ファイルを公式からダウンロード可 •ソースコードをダウンロードしてコンパイルでも可 •http://www.hping.org/download.php
  4. 4. 実験環境 IPアドレス:192.168.11.13 OS:Mac OS X 10.9.4 3.0.0-alpha-1 IPアドレス:192.168.11.15 OS:CentOS 6.5
  5. 5. とりあえず使ってみる… hpingはsuper userで iptables
  6. 6. とりあえず使ってみる •iptablesstop後 pingのような表示
  7. 7. とりあえず使ってみる •CentOSでのパケットキャプチャ結果
  8. 8. とりあえず使ってみる オプションを設定しないと TCPのFlagsが0x0, Destportが0, seqnumが0のTCPパケット
  9. 9. 基本オプション •-h : ヘルプの表示 •-c X回: パケットをX回送信 •-iY秒: パケットをY秒毎に送信 uyμ秒: パケットをy μ秒毎に送信(pingにはない)(例:u100) •-V :詳細表示
  10. 10. モード Mode 詳細 default TCPパケットを送信 -0 TCPやUDPがない状態で送信 (RAW IP) -1 ICMPパケットを送信 -2 UDPパケットを送信 -8 ポートスキャン -9 リッスンモード
  11. 11. IP関連のオプション -a (--spoof) 送信元の偽装 -t (--ttl) TTLの変更 -H (--ipproto) プロトコルタイプの変更 -N (--id) IPのidの変更 -f (--flag) パケット分割に関するフラグ
  12. 12. ICMP関連のオプション -C (--icmptype) icmpのType変更 -K (--icmpcode) icmpのcode変更
  13. 13. 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) ウインドウサイズの変更
  14. 14. UDP関連 -s (--baseport) 最初の送信元ポートの変更 -p (--destport) 送信先ポートの変更
  15. 15. その他 •-d A byte: Abyteのデータを付与して送信 •-d Cbyte -E filename:filenameの先頭Cbyteをデータとし て付与して送信 •-j:16進数形式でパケットを表示(Wirehsark左下部と同様) •-J:印字可能文字でパケットを表示(Wireshark右下部と同様) •-T:tracerouteモードで使用
  16. 16. 使用例1 •ポートスキャン •sudohping–scan 0-1234 –S 192.168.11.15
  17. 17. 使用例2 •高速でパケットを送信する •sudohping--faster 192.168.11.15
  18. 18. 使用例3 •CTFでの問題作り •シェルスクリプトと組み合わせれば様々なパケットを作成可 •CTF for Beginnersのネットワーク問題の一部はこれで作成
  19. 19. 使用例(公式) •ファイアウォールのテスト •異なるプロトコル, TOS(Type of Service), フラグメンテー ションを利用したネットワークテスト •TCP/IPを勉強している学生 •Etc…
  20. 20. まとめ •パケットのほとんどの部分を弄ることが可能 •ポートスキャンはnmap使ったほうが良い •ただし、送信できるパケットの間隔を細かく調整できる •プログラミングは苦手だが、コマンド入力は得意な人向け •手軽に好きにパケットを生成したい方は、ぜひhpingを!
  21. 21. 参考資料 •hping公式 •http://www.hping.org/ •hpingのヘルプコマンド •hping–h or hping--help •説明したオプションは一部、全てのオプションはhelpを見る

×