LINUX.ORG.RU
ФорумAdmin

Поиск периодического соединения с помощью netstat

 ,


0

2

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

К сожалению, это все, что я знаю, даже периодичность транзакций неизвестна. Предположительно один раз в час.

Поэтому, конечно, хотелось бы знать - с каким сервером и по каким портам оно соединяется?

Попытался использовать для этого могучую утилиту netstat, но она такая мощная, что за полдня так и не разобрался с ее многочисленными ключиками.

Может, знатоки подскажут, какие ключики нужны для этого?
Или может, есть более подходящая для этого случая утилита...

Да, еще известно, что эта транзакция молниеносная, поэтому даже если непрерывно пялиться на экран с запущенным

netstat -ntpl

ничего не даст.

★★★★★

Последнее исправление: chukcha (всего исправлений: 1)

Да, еще известно, что эта транзакция молниеносная,

тогда tcpdump \ tshark \ wireshark \ ngrep в помощь. В общем, любой сниффер.

А, еще strace'ом можно отследить вызовы конкретного приложения.

Bers666 ★★★★★
()
Последнее исправление: Bers666 (всего исправлений: 2)
Ответ на: комментарий от Bers666

Значит, netstat, насколько понял из советов, действительно не очень подходит для данной задачки?

О сниферах в курсе, но в потоке, который они вылавливают, наверное, мне будет еще труднее разобраться.

Ок, пощупаю еще strace, что оно такое. Спасибо!

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

О сниферах в курсе, но в потоке, который они вылавливают, наверное, мне будет еще труднее разобраться.

нуу, фильтры можно настроить.


еще идея, посылать в syslog все новые соединения от этого приложения. Для этого его надо или запустить от отдельного юзера, или поместить в cgroup. Тогда: iptables -j LOG.

Bers666 ★★★★★
()

У меня на Линуксе установлено приложение

Из этого я делаю 2 вывода(поправь если это не так):

1) ты знаешь имя бинарника запускаемого приложения;
2) ты знаешь пользователя, под которым оно запускается.

Если всё так, тогда для первого случая можно использовать strace, как уже посоветовали выше. Да, придется поплясать с фильтрами, но вариант вполне рабочий.

Для второго варианта - через критерий(-m) owner в iptables можно отсеять все исходящие пакеты приложений, запущенных из под определенного пользователя. А target(-j) LOG позволит записать эту активность. Как запустить только своё приложение от другого пользователя я думаю ты сам разберешься.

Update: тред не читай, сразу отвечай - iptables с нужными критериями(и даже более гибким вариантом через cgroup) уже посоветовали.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)

Если ты не знаешь, что это за приложение, то надо отследить, как оно попало на твою систему, и после этого закрыть дыру. Очевидно же.

unicorne
()
Ответ на: комментарий от Pinkbyte

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

И у меня есть жгучее желание - перенаправить телеметрию, вернее, статистику, которую оно куда-то отсылает, на свой собственный сервер.
Который смогу соорудить (с чей-то помощью, конечно), если удастся разобраться, что и куда сейчас отсылается.


PS. Для наглядного примера: Фурифокс позволяет сделать синхронизацию юзерских аков через их сервер, а можно и свой такой сервер поднять.
Это только похожий пример, не более.

chukcha ★★★★★
() автор топика

если непрерывно пялиться на экран с запущенным

netstat -a -b > ~/netstat.log
sinaps
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.