Identifikasi "nakal" aplikasi mengakses internet

14

Saat ini saya punya aplikasi / layanan / widget / plugin / cronjob apa saja, mengakses internet secara rutin. Saya bisa masuk ke rincian masalah spesifik saya tetapi saya lebih suka memiliki jawaban yang akan memungkinkan saya untuk kesalahan menemukan sendiri dan dalam proses belajar lebih banyak tentang Ubuntu.

Saya menggunakan dnstopsaat ini untuk menampilkan semua permintaan DNS yang sedang dibuat di jaringan saya. Saat ini demi argumen, ada permintaan untuk weather.noaa.govsiklus 15 menit. Ini mungkin cuaca janggal meskipun saya telah memeriksa proses saya dan tidak menemukan apa pun, dan permintaan tersebut datang dari komputer saya.

Jadi pertanyaannya, bagaimana cara menentukan proses apa yang diakses weather.noaa.gov?

Saya tidak ingin melalui proses eliminasi dengan mematikan setiap layanan / plugin / aplikasi untuk mencari tahu. Saya ingin menemukan cara untuk menentukan proses apa yang membuat permintaan DNS itu.

Jika saya memiliki "Aplikasi Firewall" yang layak, permintaan tidak akan pernah dibuat. Tapi ini adalah skenario "kuda telah melesat" dan ingin menemukan proses "nakal" yang membuat permintaan DNS itu.

Meer Borg
sumber

Jawaban:

7

Jika Anda tidak keberatan menjalankan infinite loop untuk beberapa waktu, Anda dapat menjalankan netstat terus menerus dan memfilter output untuk alamat IP komputer tempat program Anda terhubung. Saya sarankan menggunakan alamat IP daripada nama domain karena itu jauh lebih cepat, mengurangi waktu setiap panggilan netstat dan karenanya meningkatkan kemungkinan menangkap proses Anda. Anda harus menjalankan perintah netstat sebagai root, jika Anda berpikir bahwa prosesnya bukan milik pengguna yang saat ini masuk. Jadi, pertama-tama gunakan nslookup untuk mencari IP domain:

nslookup weather.noaa.gov

Bagi saya ini memberi saat ini: 193.170.140.70 dan 193.170.140.80. Sekarang Anda dapat memasang loop infinte netstats. Output yang dapat Anda filter menggunakan grep (dan buang STDERR).

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

Tentu saja edit alamat IP pada contoh di atas. Contoh ini sedang menyelidiki koneksi TCP dan UDP (-tu), tidak melakukan resolusi DNS (-n) dan mendaftar proses (-p). Jika Anda merasa ada cukup waktu untuk melakukan resolusi DNS, cukup hapus opsi -n untuk netstat dan letakkan domain untuk grep alih-alih IP. Anda dapat menghentikan infinite loop hanya dengan menekan CTRL + c

Semoga ini bisa membantu, Andreas

PS: Saya tahu, ini bukan cara yang ideal, efisien atau bersih untuk melakukannya, tetapi untuk pencarian satu kali ini sudah cukup.

sumber jiwa
sumber
Saya akan mencobanya dan melihat apakah saya bisa menangkap pelakunya
Meer Borg
3

Anda juga dapat "memecah" aplikasi melalui / etc / hosts penambahan FQDN yang terhubung. Berikan beberapa IP non-routable seperti 10.1.2.3 (atau 127.0.0.1) dan lihat apa yang rusak.

Allan Bailey
sumber
Saya biasanya mengaturnya ke 0.0.0.0 karena tidak merutekan, jenis Aplikasi yang saya bicarakan jarang mengumumkan "kenakalan" mereka
Meer Borg