megahertz0 Posted June 21, 2018 Привет! Возникла тут задача захвата трафика с 10G интерфейсов + немного capture filter чтобы на винт писать только то, что нужно. Реально ли такие объемы захватывать через tcpdump на линуксовом тазике с X520 и каким-нибудь не сильно древним ксеоном типа E56xx? Просто очень смущает возможность дропов и, соответственно, кривости дампа трафика. А готовой альтернативы tcpdump я не нашел. Все или в виде proof of concept или давно заброшено. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted June 21, 2018 netmap, DPDK, PF_RING тебе в помощь. Насчёт tcpdump - наверное, но фильтры нужно скармливать ему и объёмы на выходе из ядра должны быть не слишком большими. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Tosha Posted June 21, 2018 Имхо tcpdump не вариант. Только для кратковременных тестов и отладки. "Яровую" делать собираетесь? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NewUse Posted June 21, 2018 имхо, филььровать отдельно, точнее зеркалировать нужное на железе, а дальше писать всё подряд... чем-то сильно низкоуровннвым, да и то, не очень представляю, как это сделать и диски какие нужны, чтоб писать на такой скоррсти... https://kukuruku.co/post/capturing-packets-in-linux-at-a-speed-of-millions-of-packets-per-second-without-using-third-party-libraries/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
megahertz0 Posted June 21, 2018 2 часа назад, Tosha сказал: "Яровую" делать собираетесь? К счастью пока нет. Решаем тут задачу организации СОРМа нижестоящего провайдера. Надо на этапе реализации заглядывать в трафик, летящий в съемник с целью узнать все ли до него доходит. 2 часа назад, NewUse сказал: имхо, филььровать отдельно, точнее зеркалировать нужное на железе, а дальше писать всё подряд... чем-то сильно низкоуровннвым, да и то, не очень представляю, как это сделать и диски какие нужны, чтоб писать на такой скоррсти... Реально трафика в десятке не в потолок же. Там от силы гигов 6-7. И из этого потока мне, к примеру, нужно выдернуть radius и сохранить на винт чтобы вайршарком посмотреть что там. Так что писать не так уж и много, обычный ssd справится. Железом можно фильтровать конечно. Но там не так уж и много возможностей. Тем более фильтры на том же 6500 работают для span на ingress. А мне трафик уже приходит, так что вариант фильтровать только на зонде, который захватывает трафик. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NewUse Posted June 21, 2018 ну если радиус Ваш, то проще через radius-proxy или фаерволом на худой конец что-то фильтровать.... ну с радиусом скорее всего и tcpdump справится... тоже в тему, но всё ручками: https://jvns.ca/blog/2017/04/07/xdp-bpf-tutorial/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted June 23, 2018 Могу рекомендовать свою же статью https://habr.com/post/261161/ :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sdy_moscow Posted June 23, 2018 10 часов назад, pavel.odintsov сказал: Могу рекомендовать свою же статью https://habr.com/post/261161/ :) Спасибо, с интересом прочитал. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted June 24, 2018 Рад что пригодилось :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...