Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
猫付きpingコマンドを自作
Search
uyuki
August 11, 2026
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
猫付きpingコマンドを自作
焦ってしまい、本番ではつかみの部分を飛ばしてしまいましたが、いきなり「前回のあらすじ」から始めるのは某アニメの引用です
uyuki
August 11, 2026
More Decks by uyuki
See All by uyuki
pingコマンド無しping
uyuki234
0
66
自作OSでスライド発表する
uyuki234
1
4.2k
トラコン未経験者によるゼロからのICTSC準備ロードマップ
uyuki234
0
93
令和の時代にDE0と格闘する
uyuki234
0
110
Vibe codingでおすすめの言語と開発手法
uyuki234
0
370
Google Calendar APIでいい感じに一年を振り返りたかった
uyuki234
0
150
Other Decks in Technology
See All in Technology
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
680
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
310
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
150
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
360
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.7k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.1k
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.1k
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
240
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
340
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
380
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
570
Six Lessons from altMBA
skipperchong
29
4.4k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Writing Fast Ruby
sferik
630
63k
How to train your dragon (web standard)
notwaldorf
97
6.7k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
460
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
470
BBQ
matthewcrist
89
10k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Transcript
猫付きpingコマンドを自作 uyuki234 2026/08/11 セキュリティキャンプ 2026 LT大会
About me • uyuki / uyuki234 • 興味: セキュリティ /
ネットワーク / 低レイヤー • https://scrapbox.io/uyuki234/ • https://x.com/uyuki234 • 作ってワクワク🤩 ◦ 自作CPU、自作OS… 2
前回のあらすじ 3
/sbin/pingと同じ役割を自作 →自作ping 4
ping 8.8.8.8 コマンド実行の流れ シェルがPATHから /sbin/pingを探して起動 オレンジだけ作れば動く ターミナル (RTT計算・表示内容の整形 ) ターミナル上に表示
$ ping 8.8.8.8 ICMP Echo Request macOS カーネル /sbin/ping Reply IPパケット ルーター インターネット Request ICMP Echo Reply 8.8.8.8 ※sbin = system binaries 5
自作pingで8.8.8.8に疎通! 6
ping とは? • 相手の機器までIP通信が届くかを確認するコマンド ◦ • 疎通確認で使う 相手へICMP Echo Requestを送り、
返ってくるICMP Echo Replyを受信して、 応答時間(RTT)やパケット損失率を測る。 ◦ ◦ Internet Control Message Protocol:IP通信のエラーや状態を通知するためのプロトコル Round Trip Time:パケットを送ってから応答が返ってくるまでの往復時間 7
pingに猫を搭載してみよう 8
makeAAPing 9
ICMP Echo Requestには データ領域がある 10
こんな感じ RFC 792, pp.14 https://www.rfc-editor.org/rfc/rfc792.html 11
• • • ICMPはData部分の内容形式を規定していない Echo Replyは受信した Dataをそのまま返す AAも文字と改行からなるバイト列なので格納できる RFC 792,
pp.14 https://www.rfc-editor.org/rfc/rfc792.html 12
ここに猫の AAを入れたら そのまま帰ってくる? 😼 13
実演 14
自作pingで8.8.8.8に疎通! 15
自作pingで8.8.8.8に疎通! 見やすさのため、 ICMP Echo Replyのデータ部分を ターミナルに表示させている 16
Echo RequestとEcho ReplyのDataは同じ値 Echo RequestとEcho ReplyのAAは同じ ※ localhost(127.0.0.1)宛ての通信を事前にキャプチャしました 1行目: Echo
Request(Type 8)/2行目: Echo Reply(Type 0) 17
makeAAPing.cざっくり解説 18
packetの先頭に8バイトの ICMPヘッダを置き、 その直後に.txtから 読み込んだAAをコピー 最後に、AAを含むICMP メッセージ全体から checksumを計算。 19
packetの先頭に8バイトの ICMPヘッダを置き、 その直後に.txtから 読み込んだAAをコピー 最後に、AAを含むICMP メッセージ全体から checksumを計算。 20
packetの先頭に8バイトの ICMPヘッダを置き、 その直後に.txtから 読み込んだAAをコピー 最後に、AAを含むICMP メッセージ全体から checksumを計算。 21
おまけ 22
アイコンの AAでも疎通! 23
まとめと展望 24
まとめと展望 • まとめ ICMPのDataには、サイズ上限内で任意のバイト列を格納できる 自作プログラムは ICMPメッセージを組み立てまで担当。 IPv4ヘッダの付与や経路選択は macOSカーネルに任せた 送信した猫と返ってきた猫が同じバイト列であることを PCAPで確認
◦ ◦ ◦ • 展望 ◦ 次は『コンピュータシステムの理論と実装』で、 論理ゲートから高級言語まで自作する 25
猫付きpingコマンドを自作 uyuki234 2026/08/11 セキュリティキャンプ 2026 LT大会
Appendix • pingが破損したらAAはどうなるの? ◦ ◦ パケット自体が破棄されて応答が返らない ICMPチェックサムは 8バイトのヘッダだけでなく、 AAを含むICMPメッセージ全体を対象に計算される 27