Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ギャルのパンティおくれ
Search
北村
September 23, 2025
1
52
ギャルのパンティおくれ
北村
September 23, 2025
Tweet
Share
More Decks by 北村
See All by 北村
Azure Container Appsを使ってみた
shu_kita
0
53
LSMツリー
shu_kita
0
18
掲示板への不適切な投稿を防ぐ
shu_kita
0
59
正規表現エンジンを自作した話
shu_kita
0
15
Featured
See All Featured
How to build a perfect <img>
jonoalderson
0
4.6k
A Tale of Four Properties
chriscoyier
162
23k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Mind Mapping
helmedeiros
PRO
0
38
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Prompt Engineering for Job Search
mfonobong
0
120
Documentation Writing (for coders)
carmenintech
77
5.2k
Visualization
eitanlees
150
16k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
280
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
110
Balancing Empowerment & Direction
lara
5
810
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
200
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)