Jump to content
Калькуляторы

Захват трафика на высокой скорости

Привет!

Возникла тут задача захвата трафика с 10G интерфейсов + немного capture filter чтобы на винт писать только то, что нужно.

Реально ли такие объемы захватывать через tcpdump на линуксовом тазике с X520 и каким-нибудь не сильно древним ксеоном типа E56xx? Просто очень смущает возможность дропов и, соответственно, кривости дампа трафика. А готовой альтернативы tcpdump я не нашел. Все или в виде proof of concept или давно заброшено.

Share this post


Link to post
Share on other sites

netmap, DPDK, PF_RING тебе в помощь.

Насчёт tcpdump - наверное, но фильтры нужно скармливать ему и объёмы на выходе из ядра должны быть не слишком большими.

Share this post


Link to post
Share on other sites

Имхо tcpdump не вариант. Только для кратковременных тестов и отладки.

"Яровую" делать собираетесь?

 

Share this post


Link to post
Share on other sites

имхо, филььровать отдельно, точнее зеркалировать нужное на железе, а дальше писать всё подряд...

чем-то сильно  низкоуровннвым, да и то, не очень представляю, как это сделать и диски какие нужны, чтоб писать на такой скоррсти...

 

https://kukuruku.co/post/capturing-packets-in-linux-at-a-speed-of-millions-of-packets-per-second-without-using-third-party-libraries/

Share this post


Link to post
Share on other sites
2 часа назад, Tosha сказал:

"Яровую" делать собираетесь?

К счастью пока нет. Решаем тут задачу организации СОРМа нижестоящего провайдера. Надо на этапе реализации заглядывать в трафик, летящий в съемник с целью узнать все ли до него доходит.

2 часа назад, NewUse сказал:

имхо, филььровать отдельно, точнее зеркалировать нужное на железе, а дальше писать всё подряд...

чем-то сильно  низкоуровннвым, да и то, не очень представляю, как это сделать и диски какие нужны, чтоб писать на такой скоррсти...

Реально трафика в десятке не в потолок же. Там от силы гигов 6-7. И из этого потока мне, к примеру, нужно выдернуть radius и сохранить на винт чтобы вайршарком посмотреть что там. Так что писать не так уж и много, обычный ssd справится.

Железом можно фильтровать конечно. Но там не так уж и много возможностей. Тем более фильтры на том же 6500 работают для span на ingress. А мне трафик уже приходит, так что вариант фильтровать  только на зонде, который захватывает трафик.

Share this post


Link to post
Share on other sites

ну если радиус Ваш, то проще через radius-proxy или фаерволом на худой конец что-то фильтровать....

ну с радиусом скорее всего и tcpdump справится...

 

тоже в тему, но всё ручками:

https://jvns.ca/blog/2017/04/07/xdp-bpf-tutorial/

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this