Определить «мошеннические» приложения для доступа в интернет

14

На данный момент у меня есть приложение / сервис / виджет / плагин / cronjob, доступ к Интернету на регулярной основе. Я мог бы вдаваться в подробности моей конкретной проблемы, но я бы предпочел получить ответ, который позволит мне найти свою личность и в процессе узнать больше об Ubuntu.

В dnstopданный момент я использую для отображения всех запросов DNS, которые делаются в моей сети. В настоящее время, для аргументов, есть запрос weather.noaa.govна 15-минутный цикл. Вероятно, это погодный виджет, хотя я проверил свои процессы и ничего не нашел, и запрос приходит с моего компьютера.

Итак, вопрос, как мне определить, к какому процессу осуществляется доступ weather.noaa.gov?

Я не хочу проходить через процесс раскрытия, закрывая каждый сервис / плагин / приложение, чтобы понять это. Я хотел бы найти способ определить, какой процесс выполняет этот запрос DNS.

Если бы у меня был приличный «Брандмауэр приложений», запрос никогда бы не был сделан. Но это сценарий «уже запутался», и он хотел бы найти тот «мошеннический» процесс, который выполняет этот запрос DNS.

Меер Борг
источник

Ответы:

7

Если вы не возражаете против запуска бесконечного цикла в течение некоторого времени, вы можете запускать netstat непрерывно и фильтровать выходные данные по IP-адресу компьютера, к которому подключается ваша программа. Я предлагаю использовать IP-адреса вместо доменных имен, потому что это намного быстрее, сокращая время, которое занимает каждый вызов netstat, и, следовательно, увеличивая шансы на фактическое перехват вашего процесса. Вам следует запустить команду netstat от имени пользователя root, если вы считаете, что процесс не принадлежит текущему вошедшему в систему пользователю. Итак, сначала используйте nslookup для определения IP-адреса домена:

nslookup weather.noaa.gov

Для меня это дает на данный момент: 193.170.140.70 и 193.170.140.80. Теперь вы можете создать бесконечный цикл netstats. Вывод можно отфильтровать с помощью grep (и отменить STDERR).

while [ true ] ;  do netstat -tunp 2>/dev/null | grep -e 193.170.140.70 -e 193.170.140.80  ; done

Конечно, отредактируйте IP-адреса в приведенном выше примере. В этом примере выполняется проверка соединений TCP и UDP (-tu), не выполняется разрешение DNS (-n) и перечисляются процессы (-p). Если вы считаете, что для разрешения DNS достаточно времени, просто опустите параметр -n для netstat и укажите домен вместо grep для IP. Вы можете остановить бесконечный цикл, просто нажав CTRL + C

Надеюсь, это поможет, Андреас

PS: я знаю, это не идеальный, эффективный или чистый способ сделать это, но для одноразового поиска этого должно быть достаточно.

soulsource
источник
Я попробую и посмотрю, смогу ли я поймать своего виновника
Меер Борг
3

Вы также можете «сломать» приложение, добавив в / etc / hosts полное доменное имя, к которому он подключен. Дайте ему некоторый немаршрутизируемый IP-адрес, например 10.1.2.3 (или 127.0.0.1), и посмотрите, что ломается.

Аллан Бейли
источник
Обычно я устанавливаю его на 0.0.0.0, так как он не маршрутизируется, и приложения, о которых я говорю, редко объявляют о своей «непослушности»
Меер Борг,