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
北村
September 23, 2025
270
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ギャルのパンティおくれ
北村
September 23, 2025
More Decks by 北村
See All by 北村
LLMの出力を構造化したい
shu_kita
0
360
Azure Container Appsを使ってみた
shu_kita
0
280
LSMツリー
shu_kita
0
30
掲示板への不適切な投稿を防ぐ
shu_kita
0
290
正規表現エンジンを自作した話
shu_kita
0
42
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.1k
ラッコキーワード サービス紹介資料
rakko
1
4.2M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Making Projects Easy
brettharned
120
6.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Odyssey Design
rkendrick25
PRO
2
750
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The SEO Collaboration Effect
kristinabergwall1
1
510
Into the Great Unknown - MozCon
thekraken
41
2.7k
Docker and Python
trallard
47
4.1k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
630
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)