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:
- Portların əlçatanlığını yoxlamaq.
- İki host arasında əlaqə qurmaq.
- Şəbəkə problemlərini diaqnostika etmək.
- 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:
- 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.
- 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. - 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:
- Tədris serverinizdə port 22-nin açıq olub-olmadığını yoxlayın.
- Öz kompüterinizdə
nc -l
vasitəsilə mini-server qurun və sonra başqa cihazdan mesaj göndərin. - Netcat-dən istifadə edərək UDP bağlantılarını test edin.
- 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?
GO TO FULL VERSION