CodeGym /Kurslar /Docker SELF /Port üzrə əlaqə yoxlanışı: nc (netcat)

Port üzrə əlaqə yoxlanışı: nc (netcat)

Docker SELF
Səviyyə , Dərs
Mövcuddur

Port üzrə əlaqə yoxlanışı: nc (netcat)

1. nc (netcat) ilə tanışlıq

İndi isə sizi tez-tez "şəbəkə üçün İsveçrə bıçağı" adlandırılan bir vasitə ilə tanış edəcəyik — nc, ya da netcat. Bu, sizə bağlantıları diaqnostika etmək, portların əlçatanlığını yoxlamaq və hətta TCP/UDP vasitəsilə mətn mesajları göndərməyə imkan verəcək.

Netcat haqlı olaraq ən universal şəbəkə alətlərindən biri sayılır. Bu sadə, lakin güclü vasitə şəbəkə tətbiqləri ilə qarşılıqlı əlaqəni təmin etmək üçün istifadə olunur. Onun əsas funksiyaları aşağıdakılardır:

  1. Portların əlçatanlığını yoxlamaq.
  2. İki host arasında əlaqə qurmaq.
  3. Şəbəkə problemlərini diaqnostika etmək.
  4. Məlumat mübadiləsi üçün test serveri başlatmaq.

Gəlin baxaq, bu necə işləyir və niyə netcat şəbəkə diaqnostikasında sizin sadiq köməkçiniz ola bilər.

Bağlantının yoxlanışı anlayışı

Şəbəkələr dünyasında hər bir xidmət müəyyən bir portda "dinləyir". Məsələn, veb-server standart olaraq 80 (HTTP) və ya 443 (HTTPS) portunda işləyir, SSH isə port 22-dən istifadə edir. Xidmətin əlçatan olmaması ilə qarşılaşdığınızda, problemin marşrutlaşdırmada, portların bloklanmasında, işləyən firewall-da, ya da xidmətin özünün işə salınmamasında olduğunu başa düşmək lazımdır.

Portun yoxlanması sizə lazım olan xidmətin əlçatan olub olmadığını və müştərinin ona çıxışı olub olmadığını müəyyən etməyə imkan verir. Və burada arenaya nc daxil olur.


2. nc (netcat) komandasının əsas funksiyaları

Netcat — şəbəkə alətləri arasında əsl bir canavardır. Onun imkanları bir çox tapşırıqları yerinə yetirməyə kifayət edir. Əsas funksiyalarına baxaq:

Uzaq server və port ilə qoşulmanı yoxlamaq

Gəlin hansısa serverdə port 22-nin açıq olub-olmamasını yoxlayaq:

nc -zv 192.168.1.100 22
  • -z: Sadəcə portu yoxlamaq istədiyimizi göstərir (tam qoşulma qurulmadan).
  • -v: Ətraflı (verbose) çıxışı aktiv edir.

Əgər port əlçatandırsa, aşağıdakı kimi bir mesaj alacaqsınız:
Connection to 192.168.1.100 22 port [tcp/ssh] succeeded!

Əks halda, belə bir xəta mesajı olacaq:
nc: connect to 192.168.1.100 port 22 (tcp) failed: Connection refused

Portlar aralığının yoxlanılması

Tək bir portu yoxlamaq əvəzinə, siz bütün bir aralığı test edə bilərsiniz:

nc -zv 192.168.1.100 20-30

Bu nümunə 20-dən 30-a qədər portları yoxlayacaq ki, hansıların açıq olduğunu müəyyənləşdirə biləsiniz.

Verilənləri qəbul etmək üçün serverin işə salınması

Siz öz "mini-serverinizi" işə salmaq üçün netcat-dan istifadə edə bilərsiniz. Məsələn, 12345 portunda dinləmək üçün:

nc -l 12345

İndi netcat göstərilən portda daxil olan qoşulmaları gözləyəcək və aldığınız hər şey terminalda göstəriləcək.

TCP/UDP qoşulmaları vasitəsilə məlumat göndərmək

Netcat həmçinin məlumat göndərmək üçün istifadə oluna bilər. Məsələn:

echo "Salam, dünya!" | nc 192.168.1.100 12345

Əgər 192.168.1.100 ünvanında 12345 port açıqdırsa (və nc -l 12345 işləyirsə), o zaman müştəri sizin mesajınızı alacaq.


3. Praktik Nümunələr: Sadədən Mürəkkəbə

İndi gəlin nc-nin bir neçə praktik istifadə hallarını nəzərdən keçirək ki, real tapşırıqlarda onu inamla tətbiq edə biləsiniz.

Nümunə 1: SSH mövcudluğunu yoxlamaq

SSH vasitəsilə qoşulmaq istədiniz, amma bağlantı qurulmur. Port 22-nin açıq olub-olmadığını yoxlayın:

nc -zv 192.168.1.100 22

Əgər port bağlıdırsa, yoxlayın ki, SSH-server işləyir və port firewall tərəfindən bloklanmır.

Nümunə 2: Veb-serverin yoxlanması

Veb-server qurmusunuz və onun işlədiyinə əmin olmaq istəyirsiniz. Port 80-i (HTTP) yoxlamaq üçün netcat istifadə edin:

nc -zv www.example.com 80

Əgər hər şey qaydasındadırsa, uğurlu bağlantı mesajı alacaqsınız.

Nümunə 3: Mini-server və müştərinin yaradılması

Təsəvvür edin ki, şəbəkə daxilində iki maşın arasında məlumat ötürülməsini test etməlisiniz:

Birinci maşında netcat-ı server rejimində başladın:

nc -l 12345

İkinci maşında bu serverə mesaj göndərin:

echo "Bu işləyir!" | nc 192.168.1.101 12345

Əgər hər şey uğurlu olubsa, birinci maşında bu mesajı görəcəksiniz: Bu işləyir!.

Nümunə 4: UDP bağlantılarının test edilməsi

Netcat yalnız TCP-ni deyil, həm də UDP-ni dəstəkləyir. Bunun üçün -u bayrağını əlavə edin:

  • Server:

    nc -ul 12345
    
  • Müştəri:

    echo "UDP mesaj" | nc -u 192.168.1.101 12345
    

4. Qarşılaşa biləcəyiniz problemlər

Netcat çox sadə görünsə də, nəzərə alınmalı olan bir neçə çətinlik var:

  1. Firewall-lar mane ola bilər. Əgər port bağlıdırsa və ya bloklanıbsa, heç bir netcat kömək etməyəcək — uyğun qaydaların girişə icazə verdiyindən əmin olun.
  2. Netcat-ə gedən yol problemi. Bəzi sistemlərdə bir neçə nc versiyası var və onların standartları fərqlənə bilər. which nc komandası hansı nc-dən istifadə etdiyinizi tapmağa kömək edəcək.
  3. UDP həmişə cavab qaytarmaya bilər. UDP portu əlçatan olmasa belə, hər zaman xəta mesajı almayacaqsınız. Bu, protokolun xüsusiyyətləri ilə bağlıdır.

Nəticələr və praktiki tapşırıq

Netcat — şəbəkələrin diaqnostikası və konfiqurasiyası üçün çoxfunksiyalı köməkçidir. Biliklərinizi möhkəmləndirmək üçün aşağıdakı tapşırıqları yerinə yetirin:

  1. Tədris serverinizdə port 22-nin açıq olub-olmadığını yoxlayın.
  2. Öz kompüterinizdə nc -l vasitəsilə mini-server qurun və sonra başqa cihazdan mesaj göndərin.
  3. Netcat-dən istifadə edərək UDP bağlantılarını test edin.
  4. Yerel serverdə port diapazonunu yoxlamağa çalışın.

Netcat öyrənmək təkcə indiki işinizdə yox, həm də müsahibələrdə və real layihələrdə faydalı bir alət olacaq. "Server niyə cavab vermir, bilmirəm" əvəzinə, peşəkar kimi səslənə bilərsiniz: "Portun əlçatanlığını nc ilə yoxladım, amma bağlantı rədd edildi". Sərin səslənir, elə deyilmi?

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION