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
680
iptablesであそぼう
iptablesのu32モジュールとstringモジュールの紹介
Yukimitsu Izawa
August 22, 2016
Tweet
Share
More Decks by Yukimitsu Izawa
See All by Yukimitsu Izawa
KVM-Mをつくったはなし
izawa
1
92
RubyでXDPプログラミング
izawa
0
46
軽くて強い素材を求めて(DCFのススメ)
izawa
1
140
指紋認証でsshログイン
izawa
0
390
展示会に出展してみた
izawa
0
210
エアコンの操作についての話
izawa
0
840
SlackにZoomの使用状況を表示したい
izawa
0
240
Kindleページめくり君 Ver.2
izawa
0
260
災害グッズとして見たときのキャンプ用品
izawa
0
340
Other Decks in Technology
See All in Technology
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
400
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
450
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
580
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
490
人工衛星のファームウェアをRustで書く理由
koba789
15
8.1k
Agile PBL at New Grads Trainings
kawaguti
PRO
1
440
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
64k
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
960
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
260
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
Language Update: Java
skrb
2
300
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Designing for Performance
lara
610
69k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
How to Ace a Technical Interview
jacobian
279
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
RailsConf 2023
tenderlove
30
1.2k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Thoughts on Productivity
jonyablonski
70
4.8k
Building Adaptive Systems
keathley
43
2.7k
Gamification - CAS2011
davidbonilla
81
5.4k
Designing for humans not robots
tammielis
253
25k
Optimizing for Happiness
mojombo
379
70k
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:
[email protected]
/
[email protected]
• Twitter: @Yukimitsu_Izawa 9