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
ギャルのパンティおくれ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
北村
September 23, 2025
230
1
Share
ギャルのパンティおくれ
北村
September 23, 2025
More Decks by 北村
See All by 北村
LLMの出力を構造化したい
shu_kita
0
320
Azure Container Appsを使ってみた
shu_kita
0
240
LSMツリー
shu_kita
0
25
掲示板への不適切な投稿を防ぐ
shu_kita
0
240
正規表現エンジンを自作した話
shu_kita
0
25
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
240
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
790
For a Future-Friendly Web
brad_frost
183
10k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
58
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
310
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Faster Mobile Websites
deanohume
310
31k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
140
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Transcript
ギャルのパンティおくれ shu-kitamura
自己紹介 • 出身 ◦ 大阪府枚方市 ◦ 3年前から札幌住み • 業務 ◦
SIer ◦ デバイスドライバ関係 • 趣味 ◦ テニス、フットサルやってます ◦ お笑いが好きです
話すこと 1. DBについて 2. デモ 3. eBPF・XDPについて
DBについて データベースではなくドラゴンボール の方です。 一星球~七星球を集め、神龍(シェンロン)を呼び出すと 何でも一つ願いを叶えてくれる。 • 生き返らせる • 若返らせる みたいな願いが作中では多かった。
最近の作品では「 ◦◦について教えて」とかで呼び出されていて、 ChatGPTみたいな扱いを受けているらしい。
ギャルのパンティおくれ 作中で最初に叶えられた願い。 この流れを eBPF(XDP) という技術を使って表現してみる。 いでよドラゴン 願いを言え ギャルのパンティ おくれーーーーーっ!!!!! こっちが叶った
世界征服の願いを叶えようとしていた ピラフ シェンロン ウーロン
デモ① ウーロンの邪魔が入らない いでよドラゴン 願いを言え。どんな願いもひとつだけ 叶えてやろう 世界を征服したい たやすい願いだ
デモ② ウーロンの邪魔が入る いでよドラゴン 願いを言え。どんな願いもひとつだけ 叶えてやろう ギャルのパンティおくれ たやすい願いだ
eBPF(XDP) という技術を使って、NICが受け取ったパケットを監視する。 ウーロンの正体は以下の動作をする eBPF(XDP) プログラム 1. TCPペイロードが 「願いを言え ……」のパケットを待つ 2.
パケットを書き換えて、送り返す。 以下の3点を書き換えている。 • TCPペイロードを「ギャルのパンティおくれ」に書き換え • 送信元・先の MAC/IPアドレス、ポートを入れ替え • TCPのSEQ/ACK、チェックサムを再計算して書き換え 何が起きたのか
eBPF (Extended Berkeley Packet Filter) とは? eBPFはLinux カーネル内のVMでバイトコードを実行できる機能。 • ユーザ空間からバイトコードをロードする
• ロードされたコードはカーネル内のVMで動作する • ロード時にVerifier(検証機)が危険なプログラムを弾くから安全 ◦ 例:無限ループ、不正なメモリアクセスなど • 柔軟で多様な用途 ◦ パケットモニタリング ◦ ファイアウォール ◦ ロードバランサ ◦ システムコールの追跡 などなど この蜂は eBee という名前 自分で書いたプログラムを カーネルで安全に実行できるのが良さ と理解しています(僕は)
プログラムの種類 eBPFプログラムには種類があります。 • XDP : NICがパケットを受信したときに◦◦する • TC : ネットワークスタックを通過したときに◦◦する
• kprobe : 特定のカーネル関数が実行されたときに◦◦する 他にも色々あります。 ◦◦の部分を自分で書く
XDPとは NICがパケットを受信したときに、任意の処理を加える。 XDPプログラムはXDP Actions(終了コード)によってパケットを制御する。 サポートされているXDP Actionsは以下 • XDP_PASS : パケットを通過させる
• XDP_TX : パケットを受信したNICから送信 • XDP_REDIRECT : パケットを別のNICから送信 • XDP_DROP : パケットを破棄する • XDP_ABORTED : プログラムがエラーの時に使う。パケットは破棄する
図にすると カーネル ハードウェア NIC ドライバ XDP ネットワークスタック ソケット NIC アプリケーション
XDP_TX XDP_REDIRECT XDP_PASS XDP_DROP パケット
ウーロンがやってたこと カーネル ハードウェア NIC ドライバ XDP ネットワークスタック ソケット NIC アプリケーション
XDP_TX パケット eBPFでパケットを 書き換え
用途 今回みたいなおふざけ用の技術ではない。 もちろん、ちゃんと使われている技術です。 • ロードバランサ ◦ Katran(Facebook) • コンテナ間の通信制御・監視 ◦
Cilium • DDoS対策 ◦ Gatebot(Cloudflare)