Kur një ditë të bukur shefi ngre pyetjen: "Pse disa kanë qasje të largët në kompjuterin e punës, pa marrë leje shtesë për përdorim?"
shfaqet detyra për të "mbuluar" shpëtimin.

Ka shumĂ« aplikacione pĂ«r menaxhimin e largĂ«t tĂ« kompjuterĂ«ve: Chrome Remote Desktop, AmmyAdmin, LiteManager, TeamViewer, Anyplace Control etj. NĂ«se Chrome Remote Desktop ka njĂ« manual zyrtar pĂ«r tĂ« luftuar qasjen nĂ« shĂ«rbim, TeamViewer ka kufizime licencash pĂ«r kohĂ«n ose kĂ«rkesat nga rrjeti dhe pĂ«rdoruesit "me dhimbje" ashtu apo ndryshe "shfaqen" pĂ«r administratorĂ«t, atĂ«herĂ« mĂ« i preferuari i shumĂ« njerĂ«zve pĂ«r pĂ«rdorim personal â AnyDesk ende kĂ«rkon vĂ«mendje tĂ« veçantĂ«, sidomos nĂ«se shefi tha "Nuk lejohet!".

Nëse e dini se çfarë është bllokimi i paketave rrjetës sipas përmbajtjes së tij dhe kjo ju përshtatet
materiali i mbetur nuk është për ju.
Duke provuar të shkojmë nga ana e kundërt, në të vërtetë flitet për atë që duhet të jetë e lejuar për funksionimin e programit, duke u bllokuar përkatësisht regjistrimi DNS *.net.anydesk.com. Porë AnyDesk nuk është i thjeshtë, bllokimi i emrit të domainit për të nuk ka rëndësi.
Njëherë më është zgjidhur një detyrë për bllokimin e «Anyplace Control», i cili na vinte me ndonjë softuer të dyshimtë, dhe ajo u zgjidh duke bllokuar vetëm disa IP (unë e mbulova me antivirus). Detyra me AnyDesk, pasi unë grumbullova manualisht më shumë se një duzinë adresash IP, më inkurajoi të largohem nga puna e zakonshme manuale.
Po ashtu u zbulua se në «C:ProgramDataAnyDesk» ka një sërë skedarësh me konfigurime etj., ndërsa në skedarin ad_svc.trace grumbullohen ngjarjet për lidhjet dhe dështimet.
1. Vëzhgimi
Siç u përmend, bllokimi i *.anydesk.com nuk dha asnjë rezultat në funksionimin e programit, u vendos të analizojmë sjelljen e programit në situata stresuese.. TCPView nga Sysinternals në duar dhe përpara!

1.1. ĂshtĂ« e qartĂ« se disa procese interesante âkanĂ« ngecurâ, dhe vetĂ«m ai qĂ« lidhet me adresĂ«n nga jashtĂ« na intereson. Portet qĂ« lidhen testohen, nga ato qĂ« kam parĂ« kĂ«to janĂ«: 80, 443, 6568. đ 80 dhe 443 nuk mund tâi bllokojmĂ« aspak.
1.2. Pas bllokimit të adresës përmes ruterit, lehtësisht zgjidhet një adresë tjetër.

1.3. Konsola është gjithçka për ne! Përcaktojmë PID dhe këtu më ndihmoi pak fati, pasi AnyDesk ishte instaluar nga shërbimi, kështu që PID i kërkuar është i vetmi.
1.4. Përcaktojmë IP adresën e serverit të shërbimeve nga PID i procesit.

2. Përgatitja
Duke qenë se programi për identifikimin e IP adresave do të punojë vetëm në PC-në time, nuk kam asnjë kufizim nga këndvështrimi i komoditetit dhe lenies, prandaj përdor C#.
2.1. TĂ« gjitha metodat pĂ«r identifikimin e IP adresĂ«s sĂ« kĂ«rkuar tashmĂ« janĂ« tĂ« njohura, mbetet tâi realizojmĂ«.
string pid1_; //mësomë PID e shërbimit 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(','); //kthejmë përgjigjen në array
pid1_ = pid1[1].Replace(""", ""); //merrni elementin e dytë pa thonjëza
}Po ashtu, gjejmë shërbimin që ka vendosur lidhjen, do të shtoj vetëm rreshtin kryesor
p.StartInfo.Arguments = "/c " netstat -n -o | findstr /I " + pid1_ + " | findstr "ESTABLISHED""";Rezultati do të jetë:
![]()
Nga rreshti, ashtu si në hapin e mëparshëm, nxjerrim kolumnin e tretë dhe heqim gjithçka pas ":". Si rezultat, kemi IP-në tonë të kërkuar.
2.2. Bllokimi i IP në Windows. Ndryshe nga Linux që ka Blackhole dhe iptables, metoda për të bllokuar një adresë IP në një shkronjë, pa përdorur ndërmjetës, në Windows doli të jetë të panjohur,"
por ishin të gjitha mjetet që kishim...
route add adresa_IP_e_gjetur mask 255.255.255.255 10.113.113.113 if 1 -pParametri kyç "if 1" dĂ«rgon itinerarin nĂ« Loopback (TĂ« drejtat e disponueshme tĂ« interface-it mund tĂ« shihen duke e ekzekutuar route print). Dhe E RĂNDĂSISHME! Tani programi duhet tĂ« jetĂ« nĂ« funksionim me tĂ« drejtat e administratorit, pasi ndryshimi i itinerarit kĂ«rkon ngritjen e tĂ« drejtave.
2.3. Shfaqja dhe ruajtja e adresave IP të identifikuara është një detyrë triviale dhe nuk kërkon shpjegime. Nëse mendojmë, mund të përpunojmë edhe skedarin ad_svc.trace të AnyDesk vetë, por për këtë nuk mendoja menjëherë + ndoshta ka ndonjë kufizim mbi të.
2.4. Sjellja e çuditshme e ndryshe e programit qĂ«ndron nĂ« faktin se kur procesi i shĂ«rbimit mbyllet me âtaskkillâ nĂ« Windows 10, ai rinis automatikisht, ndĂ«rsa nĂ« Windows 8 pĂ«rfundon, duke lĂ«nĂ« vetĂ«m procesin e konsolĂ«s dhe pa rinisje, çka Ă«shtĂ« jologjike dhe saktĂ«sisht.
Eliminimi i procesit të lidhur me serverin lejon "forcimin" e rikonnectimit në adresën tjetër. Realizohet në mënyrë të ngjashme me komandat e mëparshme, prandaj po e përmend vetëm:
p.StartInfo.Arguments = "/c taskkill /PID " + pid1_ + " /F";Shtojmë për më tepër programin AnyDesk.
//запŃŃĐșĐ°Đ”ĐŒ ĐżŃĐŸĐłŃĐ°ĐŒĐŒŃ ĐșĐŸŃĐŸŃĐ°Ń ŃаŃĐżĐŸĐ»ĐŸĐ¶Đ”ĐœĐ° ĐżĐŸ ĐżŃŃĐž path_pro
if (File.Exists(path_pro)){
Process p1 = Process.Start(path_pro);}2.5. Do tĂ« kontrollojmĂ« gjendjen e AnyDesk njĂ« herĂ« nĂ« minutĂ« (apo mĂ« shpesh?), dhe nĂ«se Ă«shtĂ« lidhur, dmth. lidhja ESTABLISHED â ky IP duhet bllokuar, dhe pĂ«rsĂ«ri gjithçka nga fillimi â tĂ« presim derisa tĂ« lidhet, bllokojmĂ« dhe presim.
3. Sulmi
Ishte "hedhur" kodi, pĂ«r tĂ« vizualizuar procesin u vendos "+" tĂ« tregojmĂ« IP-nĂ« e gjetur dhe tĂ« bllokuar, dhe "." â njĂ« herĂ« tjetĂ«r verifikimi pa lidhje tĂ« suksesshme nga AnyDesk.

â
Si rezultat...

Programi punoi nĂ« disa kompjuterĂ« me sisteme operativĂ« tĂ« ndryshme Windows, me versione AnyDesk 5 dhe 6. GjatĂ« 500 iteracioneve u mbledhĂ«n rreth 80 adresa. GjatĂ« 2500 â 87 dhe kĂ«shtu me radhĂ«...
Me kalimin e kohës, numri i IP-ve të bllokuara arriti deri në 100+.
Lidhja për finalen skedarin tekstual me adresat: dhe
ĂĂ«shtja u bĂ«! Pool-i i adresave IP u shtua pĂ«rmes skriptit nĂ« rregullat e ruterit kryesor dhe AnyDesk thjesht nuk mund tĂ« krijojĂ« njĂ« lidhje tĂ« jashtme.
Ka njĂ« moment tĂ« çuditshĂ«m, sipas logeve fillestare shihet se adresa e informacionit Ă«shtĂ« pĂ«rfshirĂ« boot-01.net.anydesk.com. Natyrisht, kemi bllokuar tĂ« gjitha hostet *.net.anydesk.com me njĂ« rregull tĂ« pĂ«rbashkĂ«t, por çudia nuk Ă«shtĂ« kĂ«tu. Ădo herĂ« kur bĂ«het njĂ« ping normal nga komputera tĂ« ndryshĂ«m, ky emĂ«r domain-i jep njĂ« IP tĂ« ndryshme. Kontrolli nĂ« Linux:
host boot-01.net.anydesk.com
si dhe DNSLookup japin vetëm një adresë IP, por kjo adresë është variabile. Kur analizojmë lidhjet në TCPView, na kthehen regjistrime PTR të adresave IP të tipit relay-*.net.anydesk.com.
Teorikisht: pasi ping-u ndonjëherë kalon në një host të panjohur që nuk është bllokuar boot-01.net.anydesk.com mund të gjejmë këto IP dhe t'i bllokojmë, këtë implementim mund ta bëjmë me një skript të zakonshëm nën OS Linux, këtu as që nevojitet instalimi i AnyDesk. Analiza tregoi se këto IP shpesh "përsërisin" me ato të gjetura nga lista jonë. Mundet që ky host të jetë ai me të cilin programi lidhet para se të fillojë të "mbledhë" IP-të e njohura. Ka shumë të ngjarë që më vonë ta plotësoj artikullin me pjesën e dytë të kërkimeve për hoste, megjithëse aktualisht vetë programi brenda rrjetit nuk vendos lidhje të jashtme fare.
Shpresoj që nuk keni parë asgjë të paligjshme në atë që kam përshkruar më lart, dhe krijuesit e AnyDesk do ta pranojnë veprimin tim sportivisht.
Burimi: habr.com
