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
Sergey Sobko - Динамические оверлейные сети: п...
Search
Moscow 2600
January 04, 2019
Research
0
470
Sergey Sobko - Динамические оверлейные сети: передача трафика L3 через L7 с помощью Clojure
Moscow 2600
January 04, 2019
Tweet
Share
More Decks by Moscow 2600
See All by Moscow 2600
Decompilation
2600
0
69
Ivan Loskutov - Poor man’s serial debugging
2600
1
75
Sergey Sobko - Жизнь одного плагина для Emacs: от идеи до попадания в меню M-x package-install
2600
0
320
Ilya Rusanen- Ansible, если ты не админ
2600
0
77
Sergey Sobko - Грабим почту, трекеры задач и репозитарии с Clojure
2600
0
360
Ilya Rusanen - Bye world, hi Docker
2600
0
87
Ilya Rusanen - Burp Suite + Python = <3
2600
0
94
Other Decks in Research
See All in Research
CSER 2024 Keynote
tsantalis
0
130
"多様な推薦"はユーザーの目にどう映るか
kuri8ive
3
360
この先生きのこるには
verypluming
4
4.8k
SSII2024 [OS3] 基盤モデル(オープニング)
ssii
PRO
0
320
Weekly AI Agents News! 8月号 プロダクト/ニュースのアーカイブ
masatoto
1
110
論文読み会 SNLP2024 Instruction-tuned Language Models are Better Knowledge Learners. In: ACL 2024
s_mizuki_nlp
1
270
Weekly AI Agents News! 6月号 プロダクト/ニュースのアーカイブ
masatoto
0
110
SSII2024 [TS3] 画像認識におけるマルチモーダル基盤モデル ~基盤モデル、あなたのタスクに役立つかも?~
ssii
PRO
0
1.1k
Harnessing the Power of Vicinity-Informed Analysis for Classification under Covariate Shift
nanofi
3
300
[2024.08.30] Gemma-Ko, 오픈 언어모델에 한국어 입히기 @ 머신러닝부트캠프2024
beomi
0
470
LINEチャットボット「全力肯定彼氏くん(LuC4)」の 1年を振り返る
o_ob
0
1.4k
ブラックボックス機械学習モデルの判断根拠を説明する技術
yuyay
0
210
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
93
5.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Teambox: Starting and Learning
jrom
131
8.7k
We Have a Design System, Now What?
morganepeng
48
7.1k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
Making Projects Easy
brettharned
113
5.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
36
6.8k
Statistics for Hackers
jakevdp
793
220k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
The Pragmatic Product Professional
lauravandoore
31
6.2k
The Mythical Team-Month
searls
218
43k
Transcript
Динамические оверлейные сети: передача трафика L3 через L7 с помощью
Clojure 2600, 4 января – Москва, Россия Сергей Собко
About Sergey Sobko (@IwasakiRussia; GH: profitware; bug2bug.me) Руководитель группы разработки
PT Application Firewall Преподаватель курса веб-разработки в НИУ ВШЭ
Rationale
Зачем L3 over L7 Посмотреть на границы применимости Clojure
Посмотреть на сетевые пакеты изнутри Изучить возможности различных брокеров сообщений
Практическое применение Построить свой персональный интернет (e.g., VPN, Mesh,
Tor) Динамическое реконфигурирование топологии сети Заменяемость частей захвата, разбора и передачи трафика
Networks
Прямое соединение / Multicast
Соединение за NAT
Централизованное подключение
Solution
Yet Another Overlay Software Defined Network
Общая схема L3 interface (TUN) Processing L7 interface (Ignite) L3
interface (TUN) Processing L7 interface (Ignite)
PCAP PCAP как удобный формат для хранения пакетов
PCAP4J — биндинги для promiscuous mode и разбор пакетов Фабрика пакетов (и подстановка через замыкание)
PCAP
Общий протокол
TUN/TAP Захват трафика через виртуальный адаптер TUN Библиотека
clj-linux-net (JavaLinuxNet) — JNI интерфейс к tun В перспективе JNI/JNA-биндинги к libtuntap
TUN/TAP
TUN/TAP
Брокер RabbitMQ / ZeroMQ / etc. ? Распределенное
in-memory хранилище Apache Ignite как подходящее решение
Брокер
PoC Implementation
ICMPv4
Core
Further plans
Планы Сделать обвязку для libtuntap (для кроссплатформенности) Проверить
возможность централизованного использования В далекой перспективе создать production-ready решение
Спасибо за внимание! Спасибо за внимание! ptsecurity.ru Sergey Sobko @IwasakiRussia
GH: profitware bug2bug.me
Вопросы? https://github.com/yaosdn/yaosdn Flower Sergey Sobko @IwasakiRussia GH: profitware bug2bug.me