Zidentyfikuj „nieuczciwe” aplikacje uzyskujące dostęp do Internetu

14

W tej chwili mam aplikację / usługę / widget / wtyczkę / cronjob cokolwiek, regularnie uzyskując dostęp do Internetu. Mógłbym zagłębić się w szczegóły mojego konkretnego problemu, ale wolałbym znaleźć odpowiedź, która pozwoli mi na pomyłkę znaleźć to ja i podczas tego procesu dowiedzieć się więcej o Ubuntu.

dnstopObecnie używam do wyświetlania wszystkich żądań DNS wysyłanych w mojej sieci. Obecnie ze względu na argumenty pojawia się prośba weather.noaa.govw 15-minutowym cyklu. Prawdopodobnie jest to widgit pogody, chociaż sprawdziłem swoje procesy i nic nie znalazłem, a żądanie pochodzi z mojego komputera.

Pytanie, w jaki sposób ustalić, do którego procesu ma dostęp weather.noaa.gov?

Nie chcę przejść przez proces eliminacji, zamykając każdą usługę / wtyczkę / aplikację, aby to zrozumieć. Chciałbym znaleźć sposób, aby ustalić, który proces składa żądanie DNS.

Gdybym miał przyzwoitą „zaporę aplikacji”, prośba nigdy nie zostałaby złożona. Jest to jednak scenariusz „koń już spieprzył” i chciałby znaleźć ten „nieuczciwy” proces, który wysyła żądanie DNS.

Meer Borg
źródło

Odpowiedzi:

7

Jeśli nie masz nic przeciwko temu, by nieskończona pętla działała przez jakiś czas, możesz uruchomić netstat w sposób ciągły i filtrować dane wyjściowe pod kątem adresu IP komputera, z którym łączy się twój program. Sugeruję używanie adresów IP zamiast nazw domen, ponieważ jest to o wiele szybsze, skracając czas każdego połączenia netstat, a tym samym zwiększając szanse na złapanie twojego procesu. Powinieneś uruchomić komendę netstat jako root, jeśli uważasz, że proces nie należy do aktualnie zalogowanego użytkownika. Najpierw użyj nslookup, aby ustalić adres IP domeny:

nslookup weather.noaa.gov

Dla mnie daje to w tej chwili: 193.170.140.70 i 193.170.140.80. Teraz możesz ustawić nieskończoną pętlę netstatów. Dane wyjściowe można filtrować za pomocą grep (i odrzucić STDERR).

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

Oczywiście edytuj adresy IP w powyższym przykładzie. W tym przykładzie sonduje się połączenia TCP i UDP (-tu), nie rozpoznaje DNS (-n) i wyświetla listę procesów (-p). Jeśli uważasz, że jest wystarczająco dużo czasu na rozpoznanie DNS, po prostu pomiń opcję -n dla netstat i ustaw domenę na grep zamiast adresu IP. Możesz zatrzymać nieskończoną pętlę, naciskając CTRL + c

Mam nadzieję, że to pomaga, Andreas

PS: Wiem, że nie jest to idealny, wydajny ani czysty sposób na zrobienie tego, ale w przypadku jednorazowego wyszukiwania powinno to wystarczyć.

źródło duszy
źródło
Spróbuję i zobaczę, czy uda mi się złapać winowajcę
Meer Borg
3

Możesz także „zepsuć” aplikację poprzez dodanie / etc / hosts nazwy FQDN, z którą się łączysz. Podaj trochę nierutowalnego adresu IP, takiego jak 10.1.2.3 (lub 127.0.0.1) i zobacz, co się psuje.

Allan Bailey
źródło
Zwykle ustawiam go na 0.0.0.0, ponieważ nie trasuje, aplikacje, o których mówię, rzadko ogłaszają swoją „niegrzeczność”
Meer Borg