Определите & ldquo; rogue & rdquo; Приложения для доступа в интернет

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

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

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

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

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

14
задан 28 March 2013 в 03:31

2 ответа

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

0
ответ дан 28 March 2013 в 03:31

Если вы не возражаете против запуска бесконечного цикла в течение некоторого времени, вы можете запускать 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: Я знаю, это не идеальный, эффективный или чистый способ сделать это, но для Однократного поиска этого должно быть достаточно.

0
ответ дан 28 March 2013 в 03:31

Другие вопросы по тегам:

Похожие вопросы: