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

Más contenido relacionado

La actualidad más candente

Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
 

La actualidad más candente (20)

Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Docker Tokyo
Docker TokyoDocker Tokyo
Docker Tokyo
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理仮想マシンにおけるメモリ管理
仮想マシンにおけるメモリ管理
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 

Similar a hpingで作るパケット

Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
Keisuke Ishibashi
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも-
Yusaku Watanabe
 

Similar a hpingで作るパケット (20)

WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 
PIC RoR Heroku
PIC RoR HerokuPIC RoR Heroku
PIC RoR Heroku
 
Raspberry Pi and WebIOPi
Raspberry Pi and WebIOPiRaspberry Pi and WebIOPi
Raspberry Pi and WebIOPi
 
Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
 
Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
 
OpenWrtによるサイト間IPsec接続
OpenWrtによるサイト間IPsec接続OpenWrtによるサイト間IPsec接続
OpenWrtによるサイト間IPsec接続
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
くみこみからひとこと
くみこみからひとことくみこみからひとこと
くみこみからひとこと
 
PHPデプロイツールの世界
PHPデプロイツールの世界PHPデプロイツールの世界
PHPデプロイツールの世界
 
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
自宅サーバーを立てる話
自宅サーバーを立てる話自宅サーバーを立てる話
自宅サーバーを立てる話
 
OverlayFS を使って Raspberry Pi を Network Bootする
OverlayFS を使って Raspberry Pi を Network BootするOverlayFS を使って Raspberry Pi を Network Bootする
OverlayFS を使って Raspberry Pi を Network Bootする
 
Osc2013 tokyospring
Osc2013 tokyospringOsc2013 tokyospring
Osc2013 tokyospring
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも-
 

hpingで作るパケット