Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
hpingで作るパケット / network packet craft by hping
Search
takahoyo
August 29, 2014
Programming
0
390
hpingで作るパケット / network packet craft by hping
第20回 「ネットワークパケットを読む会」で発表したスライドになります。
https://atnd.org/events/54939
takahoyo
August 29, 2014
Tweet
Share
More Decks by takahoyo
See All by takahoyo
OSEP取るまでにやったこと
takahoyo
0
2.2k
"申" (猿)がつくセキュリティツールを検証してみた
takahoyo
4
1.2k
おうちで出来るセキュリティチャレンジ / cyber security challenge from home
takahoyo
4
1.9k
malspamの情報収集と解析 / malspam information gathering and analysis
takahoyo
0
94
Elastic StackでWebサーバのログ解析を始めた件について / Web server access log analysis using Elastic Stack
takahoyo
0
200
Scapyで作る・解析するパケット/ network packets craft and analysis by Scapy
takahoyo
2
2.1k
パケットで遊ぼう / let's play using network packet
takahoyo
0
210
低対話型サーバハニーポットの運用結果及び考察 / Operation result of low interaction honeypots
takahoyo
0
240
Other Decks in Programming
See All in Programming
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
JETLS.jl ─ A New Language Server for Julia
abap34
2
420
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
740
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
200
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
370
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
270
AIコーディングエージェント(Gemini)
kondai24
0
250
tparseでgo testの出力を見やすくする
utgwkk
2
260
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
560
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.5k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.7k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Claude Code のすすめ
schroneko
65
200k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Google's AI Overviews - The New Search
badams
0
860
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1k
[SF Ruby Conf 2025] Rails X
palkan
0
550
GraphQLとの向き合い方2022年版
quramy
50
14k
ラッコキーワード サービス紹介資料
rakko
0
1.7M
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
130
Agile that works and the tools we love
rasmusluckow
331
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Transcript
で作るパケット @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
実験環境 • 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
実験環境 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
とりあえず使ってみる • iptables stop後 pingのような表⽰示
とりあえず使ってみる • CentOSでのパケットキャプチャ結果
とりあえず使ってみる オプションを設定しないと Flagが0x0, Dest portが0, seq numが0のTCPパケット
基本オプション • -‐‑‒h : ヘルプの表⽰示 • -‐‑‒c X回 : パケットをX回送信
• -‐‑‒i Y秒 : パケットをY秒毎に送信 uy μ秒 : パケットをy μ秒毎に送信 (pingにはない)(例例:u100) • -‐‑‒-‐‑‒ (fast | faster | flood):floodは出来るだけ速く送信(危 • -‐‑‒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 C byte
-‐‑‒E filename:filenameの先頭 C byteをデータとし て付与して送信 • -‐‑‒j:16進数形式でパケットを表⽰示 (Wirehsark左下部と同様) • -‐‑‒J:印字可能⽂文字でパケットを表⽰示 (Wireshark右下部と同様) • -‐‑‒T:tracerouteモードで使⽤用
使⽤用例例1 • ポートスキャン • sudo hping –scan 0-‐‑‒1234 –S 192.168.11.15
使⽤用例例2 • ⾼高速でパケットを送信する • sudo hping -‐‑‒-‐‑‒faster 192.168.11.15
使⽤用例例3 • CTFでの問題作り • シェルスクリプトと組み合わせれば様々なパケットを作成可 • CTF for Beginnersのネットワーク問題の⼀一部はこれで作成
使⽤用例例(公式) • ファイアウォールのテスト • 異異なるプロトコル, TOS(Type of Service), フラグメンテー ションを利利⽤用したネットワークテスト
• TCP/IPを勉強している学⽣生 • Etc…
まとめ • パケットのほとんどの部分を弄弄ることが可能 • ポートスキャンはnmap使ったほうが良良い • ただし、送信できるパケットの間隔を細かく調整できる • プログラミングは苦⼿手だが、コマンド⼊入⼒力力は得意な⼈人向け •
⼿手軽に好きにパケットを⽣生成したい⽅方は、ぜひhpingを! • 実務ではほとんど使えないかもしれないです…