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

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

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

 

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

Могу рекомендовать свою же статью https://habr.com/post/261161/ :) 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.