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
iptablesであそぼう
Search
Yukimitsu Izawa
August 22, 2016
Technology
1
650
iptablesであそぼう
iptablesのu32モジュールとstringモジュールの紹介
Yukimitsu Izawa
August 22, 2016
Tweet
Share
More Decks by Yukimitsu Izawa
See All by Yukimitsu Izawa
RubyでXDPプログラミング
izawa
0
12
軽くて強い素材を求めて(DCFのススメ)
izawa
1
100
指紋認証でsshログイン
izawa
0
310
展示会に出展してみた
izawa
0
170
エアコンの操作についての話
izawa
0
690
SlackにZoomの使用状況を表示したい
izawa
0
200
Kindleページめくり君 Ver.2
izawa
0
230
災害グッズとして見たときのキャンプ用品
izawa
0
300
アレクサがカメラ女子になった日
izawa
0
300
Other Decks in Technology
See All in Technology
MIMEと文字コードの闇
hirachan
2
1.5k
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
190
生成AIがローコードツールになる時代の エンジニアの役割を考える
khwada
0
220
20250304_赤煉瓦倉庫_DeepSeek_Deep_Dive
hiouchiy
2
140
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
貧民的プログラミングのすすめ
kakehashi
PRO
2
210
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
180
Amazon Aurora のバージョンアップ手法について
smt7174
2
190
Pwned Labsのすゝめ
ken5scal
2
580
Qiita Organizationを導入したら、アウトプッターが爆増して会社がちょっと有名になった件
minorun365
PRO
1
360
結果的にこうなった。から見える メカニズムのようなもの。
recruitengineers
PRO
1
120
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.7k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Building an army of robots
kneath
303
45k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building Your Own Lightsaber
phodgson
104
6.2k
Designing for humans not robots
tammielis
250
25k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
How to Ace a Technical Interview
jacobian
276
23k
GraphQLとの向き合い方2022年版
quramy
44
14k
Fireside Chat
paigeccino
35
3.2k
RailsConf 2023
tenderlove
29
1k
Transcript
「安心・安全・安定・信頼」できるインターネットサービスを גࣜձࣾΫϧΟοτ Ҫᖒ ࢤॆ JQUBCMFTͰ͋ͦ΅͏ 2016/08/20 (Sat) Kanazawa.rb #48 @ITBPଂ
「安心・安全・安定・信頼」できるインターネットサービスを ͜͡͠ΐ͏͔͍ • (ג)ΫϧΟοτͷऔక ݉ ࢧࣾ • ത࢜(ใՊֶ) • ωοτϫʔΫؔ࿈ͷҕୗݚڀɾࣗࣾαʔϏε։ൃͳͲ
2 • Ҫᖒ ࢤॆ (͍͟ΘΏ͖Έͭ) @Yukimitsu_Izawa
「安心・安全・安定・信頼」できるインターネットサービスを JQUBCMFTͱ • LinuxΧʔωϧʹ࣮͞ΕͨIPv4༻ͷύέοτϑΟϧλ • NATػೳࡌ • ϑΝΠΞΥʔϧͱͯ͠ར༻Մೳ • ࡉ͔͍ͱ͜ΖάάοͯͶʂὑ
3
「安心・安全・安定・信頼」できるインターネットサービスを V • ύέοτ͔Β࠷େ 4 όΠτͷΛऔΓग़ͯ͠ɺࢦఆ͠ ͨΛ͔࣋ͭͷݕࠪΛߦ͏ɻ 4 tests :=
location "=" value | tests "&&" location "=" value value := range | value "," range range := number | number ":" number location := number | location operator number operator := "&" | "<<" | ">>" | "@" ॻࣜ : --u32 tests
「安心・安全・安定・信頼」できるインターネットサービスを Vαϯϓϧ • τʔλϧ͕ 256 Ҏ্ͷ IP ύέοτʹϚον͢Δ • IP
ϔομʔͰόΠτ 2-3 ʹτʔλϧϑΟʔϧυ͕͋ Δɻ • --u32 "0 & 0xFFFF = 0x100:0xFFFF" • όΠτ 0-3 ΛಡΈग़͠ɺ • 0xFFFF (όΠτ 2-3 ʹରԠ) ͷཧੵ (AND) ΛऔΓɺ ͦ ͷ͕ൣғ [0x100:0xFFFF] ʹ͋Δ͔ݕࠪ͢Δɻ 5
「安心・安全・安定・信頼」できるインターネットサービスを • ICMP λΠϓ͕ 0 ͷ ICMP ύέοτʹϚον͢Δ • --u32
"6 & 0xFF = 1 && 4 & 0x3FFF = 0 && 0 >> 22 & 0x3C @ 0 >> 24 = 0” • @ ΦϖϨʔλͰɺͦͷͷܭࢉ݁ՌΛlocationͱͯ͠ར ༻Ͱ͖Δɻڧྗͩͥʂ 6
「安心・安全・安定・信頼」できるインターネットサービスを TUSJOH • ύέοτʹରͯ͠ࢦఆ͞ΕͨจࣈྻͱͷϚονΛߦ͏ɻ 7 --algo {bm|kmp} ύλʔϯϚονϯάख๏Λબ͢Δ (bm =
Boyer-Moore, kmp = Knuth-Pratt- Morris) --from offsets ϚονϯάͷݕࡧΛ։࢝͢ΔΦϑηοτΛઃఆ͢Δɻ ࢦఆ͞Εͳ͔ͬͨ߹ͷ σϑΥϧτ 0 Ͱ͋Δɻ --to offset ݕࡧΛऴྃ͢ΔΦϑηοτΛઃఆ͢Δɻ όΠτ offset-1 (όΠτ൪߸ 0 ͔Β։ ࢝) ͕ݕࡧൣғͷ࠷ऴόΠτͱͳΔɻ ࢦఆ͞Εͳ͔ͬͨ߹ɺσϑΥϧτύέο ταΠζͰ͋Δɻ --string pattern ࢦఆ͞ΕͨύλʔϯʹϚον͢Δɻ --hex-string pattern ࢦఆ͞Εͨ 16 ਐදهͷύλʔϯʹϚον͢Δɻ
「安心・安全・安定・信頼」できるインターネットサービスを σϞ • stringͷσϞ • ʙ.php Λେྔʹୟ͖ʹདྷΔ߈ܸΛୟ͖མͱͤΔɻ • ԼͷϨΠϠͰམͱ͢ͷͰWebαʔόͷෛՙʹͳΒͳ ͍ɻ
8
「安心・安全・安定・信頼」できるインターネットサービスを • Thank You! • If you have any comments,
• please send to: • Mail: izawa@izawa.org / izawa@clwit.co.jp • Twitter: @Yukimitsu_Izawa 9