Muncul tugas untuk "menutup" celah tersebut.

Ada banyak aplikasi untuk remote control melalui jaringan: Chrome remote desktop, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control, dll. Jika desktop jarak jauh Chrome memiliki manual resmi untuk memerangi ketersediaan akses ke layanan, TeamViewer memiliki batasan lisensi pada waktu atau permintaan dari jaringan dan pengguna "mengertakkan gigi" dengan satu atau lain cara "bersinar" di admin, maka favorit banyak untuk penggunaan pribadi - AnyDesk sejauh ini membutuhkan perhatian khusus, terutama jika bos berkata "Tidak!"
![]() |
Jika Anda tahu apa yang memblokir paket jaringan berdasarkan isinya dan Anda puas dengannya, maka materi lainnya
tidak ditujukan untuk Anda. |
Mencoba untuk pergi dari kebalikannya, situs itu sendiri mengatakan apa yang harus diizinkan agar program bekerja, masing-masing, catatan DNS * .net.anydesk.com telah diblokir . Tapi AnyDesk tidak mudah, tidak peduli dengan memblokir nama domain.
Perbarui 15.08.
Solusi yang tepat untuk memblokir AnyDesk disarankan prymalbeets123:
relays.net.anydesk.com
391 . , .
[bash#]host relays.net.anydesk.com
391 . , .
Setelah saya memecahkan masalah pemblokiran "Anyplace Control" yang datang kepada kami dengan beberapa perangkat lunak yang meragukan dan itu diselesaikan dengan hanya memblokir beberapa IP (saya mengasuransikan antivirus). Tugas dengan AnyDesk, setelah saya mengumpulkan lebih dari selusin alamat IP secara manual, mendorong saya untuk menjauh dari pekerjaan manual rutin.
Juga ditemukan bahwa di "C: \ ProgramData \ AnyDesk" ada sejumlah file dengan pengaturan, dll., Dan kejadian tentang koneksi dan kegagalan dikumpulkan di file ad_svc.trace .
1. Pengamatan
Seperti yang telah disebutkan, pemblokiran * .anydesk.com tidak memberikan hasil apapun dalam pengoperasian program, diputuskan untuk menganalisis perilaku program dalam situasi stres . TCPView dari Sysinternals di tangan dan pergi!
1.1. Dapat dilihat bahwa beberapa proses yang menarik bagi kami sedang "menggantung", dan hanya satu yang terhubung ke alamat dari luar yang menarik bagi kami. Port yang terhubung sedang diurutkan, dari apa yang saya lihat: 80, 443, 6568. :) 80 dan 443 kita pasti tidak bisa diblokir.
1.2. Setelah memblokir alamat melalui router, alamat lain dipilih secara diam-diam.
| 1.3. Konsol adalah SEMUANYA kami! Kami menentukan PID dan di sini saya sedikit beruntung bahwa AnyDesk diinstal oleh layanan, masing-masing, PID yang diperlukan adalah satu-satunya. | 1.4. Kami menentukan alamat IP dari server layanan dengan proses PID. |
![]() |
|
2. Persiapan
Karena program untuk mendeteksi alamat IP mungkin hanya akan bekerja pada PC saya, saya tidak memiliki batasan dalam kenyamanan dan kemalasan oleh karena itu C #.
2.1. Semua metode untuk mengidentifikasi alamat IP yang diinginkan sudah diketahui untuk diterapkan.
string pid1_;// PID AnyDesk
using (var p = new Process())
{p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = " /c \"tasklist.exe /fi \"imagename eq AnyDesk.exe\" /NH /FO CsV | findstr \"Services\"\"";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.StandardOutputEncoding = Encoding.GetEncoding("CP866");
p.Start();
string output = p.StandardOutput.ReadToEnd();
string[] pid1 = output.Split(',');//
pid1_ = pid1[1].Replace("\"", "");// 2
}
Demikian pula, kami menemukan layanan yang membuat koneksi, saya hanya akan memberikan jalur utama
p.StartInfo.Arguments = "/c \" netstat -n -o | findstr /I " + pid1_ + " | findstr \"ESTABLISHED\"\"";
Hasilnya adalah:

Dari baris, mirip dengan langkah sebelumnya, ekstrak kolom ke-3, dan hapus semuanya setelah ":". Hasilnya, kami memiliki IP yang diinginkan.
2.2. Pemblokiran IP di Windows. Jika Linux memiliki Blackhole dan iptables, maka metode memblokir alamat IP dalam satu baris, tanpa menggunakan firewall, ternyata tidak biasa di Windows,
tetapi alat apa yang ...
route add __IP_ mask 255.255.255.255 10.113.113.113 if 1 -p
Parameter kunci " jika 1 " adalah mengirimkan rute ke Loopback (Anda dapat menampilkan antarmuka yang tersedia dengan menjalankan pencetakan rute). DAN PENTING! Sekarang program perlu dijalankan dengan hak administrator , karena mengubah rute membutuhkan elevasi.
2.3. Menampilkan dan menyimpan alamat IP yang terdeteksi adalah tugas yang sepele dan tidak memerlukan penjelasan. Jika Anda memikirkannya, Anda juga dapat memproses file ad_svc.trace dari AnyDesk itu sendiri, tetapi saya tidak langsung memikirkannya + mungkin ada batasannya.
2.4. Perilaku aneh yang tidak merata dari program ini adalah bahwa ketika proses taskkill dari layanan di Windows 10, ia restart secara otomatis, di Windows 8 itu berakhir, hanya menyisakan proses konsol dan tanpa menghubungkan kembali, secara umum tidak logis dan tidak akurat.
Menghapus proses yang terhubung ke server memungkinkan Anda untuk "memaksa" koneksi ulang ke alamat berikutnya. Ini diimplementasikan mirip dengan perintah sebelumnya, jadi saya hanya memberikan:
p.StartInfo.Arguments = "/c taskkill /PID " + pid1_ + " /F";
Selain itu, kami meluncurkan program AnyDesk.
// path_pro
if (File.Exists(path_pro)){
Process p1 = Process.Start(path_pro);}
2.5. Kami akan memeriksa status AnyDesk satu menit sekali (atau lebih sering?), Dan jika terhubung, mis. MEMBANGUN koneksi - blokir IP ini, dan sekali lagi - tunggu sampai terhubung, blokir dan tunggu.
3. Serangan
Kode itu "dibuat sketsa", untuk memvisualisasikan proses itu diputuskan untuk " + " menunjukkan IP yang ditemukan dan diblokir, dan " . " - untuk mengulangi pemeriksaan tanpa koneksi yang berhasil dari AnyDesk.
→ Kode proyek
Sebagai hasilnya ...

Program ini bekerja pada beberapa komputer dengan OS Windows yang berbeda, dengan AnyDesk versi 5 dan 6. Sekitar 80 alamat dikumpulkan dalam 500 iterasi. Lebih dari 2500 - 87 dan seterusnya ...
Seiring waktu, jumlah IP yang diblokir mencapai 100+.
Tautkan ke file teks terakhir (daftar hitam) dengan alamat: >> satu << dan >> dua <<
Selesai! Kumpulan alamat IP melalui skrip ditambahkan ke aturan router utama dan AnyDesk tidak dapat membuat koneksi eksternal.
Ada momen aneh, menurut log awal terlihat bahwa alamat boot-01.net.anydesk.com terlibat dalam transfer informasi.... Tentu saja, kami memblokir semua host * .net.anydesk.com sebagai aturan umum, tetapi ini tidak aneh. Setiap kali melakukan ping normal dari komputer yang berbeda, nama domain ini memberikan IP yang berbeda. Periksa di Linux:
host boot-01.net.anydesk.com
seperti DNSLookup hanya memberikan satu alamat IP, tetapi alamat ini bervariasi. Saat menganalisis koneksi TCPView, kami mengembalikan data PTR alamat IP dari relai jenis - *. Net.anydesk.com .
Secara teoritis: karena ping terkadang masuk ke host yang tidak diblokir , boot-01.net.anydesk.com, kita dapat menemukan ip ini dan memblokirnya, menjadikan implementasi ini skrip biasa di OS Linux, Anda tidak perlu menginstal AnyDesk di sini. Analisis telah menunjukkan bahwa IP ini sering " tumpang tindih"dengan yang ditemukan dari daftar kami. Mungkin ini hanya host ini, tempat program terhubung sebelum mulai mencari IP yang diketahui. Mungkin saya akan melengkapi artikel ini dengan bagian kedua dari pencarian host, meskipun saat ini program itu sendiri tidak diinstal di dalam jaringan koneksi eksternal secara umum
Pembaruan 08/15/2020: Pengguna Habr @ prymalbeets123 menarik perhatian saya pada fakta bahwa ada relays.net.anydesk.com hostyang sesuai dengan 391 alamat IP, file dengan daftarnya dapat ditemukan di tautan di atas sebagai benar. Terlihat bahwa saya memiliki lebih sedikit alamat yang dikumpulkan dengan memantau program AnyDesk, tetapi ada yang tidak termasuk dalam 391 umum dan diselesaikan dengan nama domain "kiri", ternyata saya juga "mengumpulkan" alamat mereka yang memulai koneksi ke komputer saya :).
Saya harap Anda tidak melihat sesuatu yang ilegal di atas, dan pembuat AnyDesk akan memperlakukan tindakan saya dengan cara yang sporty.

