Port Yönləndirilməsi nədir?Pivoting nədir? Dinamik Port Yönləndirilməsi nədir? Remote port yönləndirilməsi nədir? Local port yönləndirilməsi nədir? SSH ilə port yönləndirilməsi necə edilir? Rinetd nədir? Chisel nədir? Proxychains nədir? Bütün növ port yönləndirilmələri hansılardır?
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
Bütün Növ Port Yönləndirilmələri
Bu paylaşımda port yönləndirilməsi seriyası üzrə paylaşılan bütün növləri bir yerə yığaraq ələ alınacaqdır. Öz lab mühitimi aşağıda qeyd etdikdən sonra hər bir port yönləndirilməsini praktiki olaraq görəcəyik. Port yönləndirilmələrinin nəzəri izahı ilə digər alətlər olan Chisel və Rinetd ilə istifadəsini öyrənəcəyik.
Paylaşımda nəzərdən keçirəcəyimiz port yönləndirmə üsulları bunlardır:
- Rinetd ilə İndividual port yönləndirmə
- SSH ilə Local Port yönləndirmə
- SSH ilə Remote Port yönləndirmə
- SSH ilə Dinamik Port yönləndirmə
- Chisel ilə Dinamik Port yönləndirmə
Lab Mühiti
Port yönləndirilmələrini edəcəyimiz lab mühiti yaradırıq və mühit aşağıdakı cihazlar ibarətdir:
- KALİ LİNUX — 192.168.20.128/24
- SERVER — 192.168.20.129/24 192.168.1.103/24
- Hədəf LİNUX — 192.168.1.102/24
Cihazların adları və ip adresləri verilmişdir. Kali Linux cihazında yalnız bir eth0 interfeysi aktivdir və ip adresi 192.168.20.128-dir. Server cihazının iki interfeysi eth0 və eth1 aktivdir və uyğun olaraq ip adresləri 192.168.20.129 və 192.168.1.103-dir. Hədəf Linux cihaz isə yalnız bir interfeys eth0 aktivdir və ip adresi 192.168.1.102-dir.
Lab Mühitinin Sxemi
Lab mühitinin sxemi görmək port yönləndirilməsi zamanı bizə hadisəni vizuallaşdıraraq daha rahat kommanda yazmağa kömək edəcəkdir.

Buradan çıxan nəticələr:
- Kali Linux cihazı yalnız Server cihazı ilə əlaqə qura bilir.
- Kali Linux cihazı Hədəf Linux cihazı ilə fərqli şəbəkələrdə olduğundan birbaşa əlaqə qura bilmir.
- Server cihazının iki interfeysi mövcuddur və iki digər cihazlar ilə əlaqə qura bilir.
- Server üzərində bütün səlahiyyətlərə sahibik yalnız Hədəf Linux cihazına girişimiz yoxdur.
Port Yönləndirilməsi Edilməsini Məqsədi
Port yönləndirilməsi edilməsinin məqsədi şəbəkə məhdudiyyətini keçmək, firewall məhdudiyyətlərin yan keçməkdir. Bizim məsələmizdə məqsədimiz şəbəkə məhdudiyyətini port yönləndirilməsi ilə keçməkdir. İlkin məqsəd olaraq Hədəf Linux cihazında 80 portunda veb server çalışır və biz o veb serverə Kali Linux cihazından giriş etməliyik.
Hədəf Linux cihazında yaradılan veb server aşağıdakı kommanda ilə icra olunur:
┌──(root㉿HEDEFLINUX)-[~]
└─# python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
İstəsəniz veb serverin portunu dəyişərək istənilən (digər servis portlarına maneə olmadan) portu təyin edə bilərsiniz.
Veb serverin index.html faylı əlavə olunmuşdur və hücum edən cihazda port yönləndirməni təsdiqləmək üçün yazı əlavə olunub. (Hədəf Linux cihazında yerləşir və ordan veb serverə daxil olunub) Növbəti port yönləndirmə əməliyyatlarında əgər bunu görəcəyiksə o zaman port yönləndirməni düzgün etmişik mənasını verir. (Hələki burda port yönləndirmə yoxdur və sadəcə testdir.)

Biz adi halda hücumçu Kali Linux cihazında 192.168.1.102 (Hədəf Linux) veb serverinə daxil ola bilmirik.

MƏQSƏD: Hədəf Linux-dakı veb serverə daxil olmaq və B şəbəkəsinin nmap ilə skanını yerinə yetirmək.
Rinetd ilə İndividual Port Yönləndirmə
Rinetd — çox sadə bir port yönləndirmə (TCP forwarder) proqramıdır.Adətən TCP port yönləndirməsi üçün istifadə olunur. UDP dəstəyi yoxdur. Sadəcə TCP ilə işləyir. Rinetd aləti çox yüngül və sadə prinsip üzrə işləyir.
Rinetd proqramı orta cihaza yəni Serverə yazılır və /etc/rinetd.conf faylını konfiqurasiya edilir. Nano ilə konfiqurasiya faylı açırıq və aşağıdakı yazını əlavə edirik.
# bindadress bindport connectaddress connectport options...
0.0.0.0 8080 192.168.1.102 80
İzahı: 0.0.0.0 ip adresinə yəni Server cihazının 8080 portuna daxil olan trafik ip adresi 192.168.1.102 olan Hədəf Linux cihazın 80 portuna yönləndirilsin.
Nano ilə faylı yaddaşa verib çıxırıq (Ctrl+O, Ctrl+X). Konfiqurasiyanın işləməsi üçün Rinetd servisini başladırıq.
service rinetd start
Artıq port yönləndirmə tamamlanmışdır və biz Kali Linux cihazından Server cihazında ip adresini yəni 192.168.20.129 və 8080 portunu qeyd edərək Hədəf Linux cihazın veb serverindəki səhifəni görüntüləyə bilərik.

Serverdə Rinetd servisini dayandıraraq port yönləndirməni ləğv edə bilərsiniz. Bunun üçün aşağıdakı kommandanı yerinə yetirin:
service rinetd stop
Servis dayandıqdan sonra yenidən Kali Linux cihazında həmin ip adresi və porta daxil olmağa cəhd edək və uğursuz olacağımızı görə bilərik.

SSH ilə Local Port yönləndirmə
Local port forwarding — lokal kompüterdə (yəni Kali Linux cihazında) açılan bir portu dinləyib, trafiki SSH tunel vasitəsilə uzaq serverə (Hədəf Linux cihazına ) yönləndirir.SSH üzərindən həyata keçməsi daha rahat və təhlükəsiz bir port yönləndirmə həyata keçirir.
Bu növ port yönləndirmə Lokal cihazda (mənbə) yəni bizim misalda Kali Linux üzərində həyata keçirilir. SSH ilə lokal port yönləndirməninin sintaksisi belədir:
ssh -N -f -L [LokalPort]:[TargetIP]:[TargetPort] [istifadəçi]@[ssh_server_ip]
İzahı:
- -L parametri (Local sözündən) Lokal port yönləndirməni aktivləşdirir.
- -N parametri giriş olduqdan sonra SSH shell yaratmır.
- -f parametri shelldə heç bir kommanda icra olunmayacağını bildirir.
- [LokalPort] – bizim cihazda açılan portdur. (Bizim misalda Kali Linux cihazında)
- [TargetIP]:[TargetPort] — əlaqə qurmaq istədiyimiz cihazın ip adresi və portudur. (Hədəf Linux)
- [istifadəçi]@[ssh_server_ip] — ortada olan cihazdır və SSH serverdir. (Bizim misalda Server cihazdır)
Bu əməliyyat üçün Server cihazında SSH servisinin açıq olduğundan əmin olun və əgər aktiv deyildirsə başladın. Servisi başlatmaq üçün kommanda:
service ssh start
İndi isə hücumçu Kali Linux cihazında SSH ilə Lokal Port yönləndirməni aktivləşdirək, bunun üçün aşağıdakı kommandanı icra edirik:
┌──(root㉿kali)-[~]
└─# ssh -N -f -L 8080:192.168.1.102:80 [email protected]
[email protected]'s password:
┌──(root㉿kali)-[~]
└─#
Kommanda icra etdikdən sonra bizə ip adreis 192.168.20.129 olan Serverin root istifadəçisinin parolunu soruşur. Parolu qeyd etdikdən sonra heç bir shell yaranmır amma tunnell prosesi aktivləşir və port yönləndirmə işləyir.
Aşağıdakı kommanda ilə bizim 8080 portunun artıq istifadədə olduğunu görə bilərik:
┌──(root㉿kali)-[~]
└─# netstat -tupldn | grep 8080
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 233086/ssh
tcp6 0 0 ::1:8080 :::* LISTEN 233086/ssh
Port yönləndirmə prosesi müvəfəqiyyətlə yerinə yetirilmiş və biz Kali Linux cihazında öz lokal ip və qeyd etdiyimiz 8080 portunu daxil edərək Hədəf Linux cihazın veb səhifəsini görüntüləyə bilərik:

Port yönləndirməni netstat kommandası ilə əldə etdiyimiz portun PİD nömrəsəni kill kommandası ilə prosesi öldürərək (bitirərək) ləğv edirik.
┌──(root㉿kali)-[~]
└─# kill 233086
Ləğv etdikdən sonra həmin adresə yenə daxil oluruq və uğursuz olduğunu görürük.

SSH ilə Remote Port yönləndirmə
Remote port forwarding — SSH server üzərində bir port açır və bu porta gələn trafiki tunel vasitəsilə sənin lokal kompüterinə və ya sənin şəbəkəndəki başqa bir cihazın IP və portuna yönləndirir.Eləcədə hədəf şəbəkənin cihazına Hədəf Linuxa yönləndirilir.
Remote port yönləndirilməsi bizim misalda orta cihazda yəni Server-də yerinə yetirilir. Yönləndirməni yerinə yetirmək üçü kommandanın sintaksisi:
ssh -N -f -R [UzaqPort]:[TargetIP]:[TargetPort] [istifadəçi]@[ssh_server_ip]
İzah:
- -N və -f parametrlərin mənasını Lokal port yönləndirmədə öyrəndik.
- -R parametri (Remote sözündən) Remote port yönləndirməni aktivləşdirir.
- [UzaqPort] – Serverdə açılacaq portdur. (Bizim misalda orta cihaz yəni serverdə)
- [TargetIP]:[TargetPort] – Trafikin yönləndiriləcəyi Hədəf cihazın ip adresi və portudur.(Hədəf Linux)
- [istifadəçi]@[ssh_server_ip] — ortada yerləşən cihazın yəni Serverin istifadəçi adı və ip adresidir.
Buna uyğun olaraq kommandanı yazır və icra edirik:
┌──(root㉿SERVER)-[~]
└─# ssh -N -f -R 8080:192.168.1.102:80 [email protected]
[email protected]'s password:
┌──(root㉿SERVER)-[~]
└─#
Kommandanın icrasından sonra netstat ilə 8080 portunun aktivləşdirildiyini görə bilərik.
┌──(root㉿SERVER)-[~]
└─# netstat -tupldn | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 153844/sshd-session
tcp6 0 0 :::8080 :::* LISTEN 153844/sshd-session
Beləliklə port yönləndirmə prosesi müvəfəqiyyətlə yerinə yetirilmişdir və biz Kali Linux cihazında Server cihazın ip adresi və 8080 portunu qeyd etməklə, Hədəf Linux cihazın veb serverini görüntüləyə bilərik.

Port yönləndirməni ləğv etmək üçün netstat kommandası ilə əldə etdiyimiz portun PİD nömrəsəni kill kommandası ilə prosesi öldürərək (bitirərək) ləğv edirik
┌──(root㉿SERVER)-[~]
└─# kill 153844
Prosesi ləğv etdikdən sonra həmin ip adress və porta daxil ola bilmirik.

SSH ilə Dinamik Port yönləndirmə
Dinamik Port Forwarding — SSH tuneli üzərindən bir SOCKS proxy yaradır və bu SOCKS proxy vasitəsilə trafikini internetdə istənilən hədəfə yönləndirə bilirsən. SOCKS proxy-dən istifadə etmək üçün Proxychains adlı alətdən istifadə olunur.
Dinamik port yönləndirmə mənbədə,yəni Kali Linux cihazında yerinə yetirilir.Bunun üçün kommanda belədir:
ssh -N -f -D [LokalPort] [istifadəçi]@[ssh_server_ip]
İzahı:
- -D parametri Dinamik port yönləndirməni aktivləşdirir.
- [LokalPort] – SOCKS proxy üçün açılacaq olan Lokal portdur. (KALİ Linux cihazında)
- [istifadəçi]@[ssh_server_ip] — SSH servisi olan ortada olan cihazdır.(Bizim misalda Server)
Proxychains istifadə edəcəyimizdən proxychains alətinin default portundan istifadə edəcəyik. Default portu öyrənmək və ya yeni fərqli port əlavə etmək üçün /etc/proxychains4.conf konfiqurasiya faylında dəyişiklik etmək lazımdır. (Nano aləti ilə faylı redaktə edirik)
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4 127.0.0.1 9050
socks5 127.0.0.1 9050
Yuxarıda `#socks4 127.0.0.1 9050` yazısı defaultdur, onun yerinə yeni texnologiya olan socks5 istifadə edərək proxy portunu qeyd edək.
Buna uyğun olaraq Kali Linux cihazında kommandanı yerinə yetiririk:
┌──(root㉿kali)-[~]
└─# ssh -N -f -D 9050 [email protected]
[email protected]'s password:
┌──(root㉿kali)-[~]
└─#
Netstat alətinin köməyi ilə 9050 portunu aktivləşdirildiyini və listen vəziyyətində olduğunu görüb, port yönləndirmə prosesini müvəfəqiyyətlə yerinə yetirildiyini deyə bilərik.
┌──(root㉿kali)-[~]
└─# netstat -tupldn | grep 9050
tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN 304626/ssh
tcp6 0 0 ::1:9050 :::* LISTEN 304626/ssh
Daha sonra istifadə edəcəyimiz kommandaların əvvəlinə proxychains aləvə edərək hədəf şəbəkədə istifadə edə bilərik:
┌──(root㉿kali)-[~]
└─# proxychains nmap -sT 192.168.1.102 -Pn
[proxychains] config file found: /etc/proxychains4.conf
[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-09 05:46 EDT
Nmap scan report for 192.168.1.102
Host is up (0.0012s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 14.90 seconds
SOCKS5 proxy TCP SYN skanı (-sS) və ping ata (İCMP echo request və echo reply) edə bilmir.
Ona görə mütləq şəkildə -Pn (ping sorğusunu ləğv edir) ilə istifadə edilməlidir.
Hədəf Linux cihazın veb serverinə daxil olmaq üçün veb brovserin proxylərini konfiqurasiya faylındakı kimi redaktə etmək lazımdır. (Əgər belə etmək istəməsəz proxychains firefox kommandasından istifadə etmək olar)

Proxy Manual proxy Configurations seçimi edib SOCKS5 hissəsinə 127.0.0.1:9050 qeyd edirik və bizim veb trafikimizi proxy üzərindən yönləndirilir.
Port yönləndirmə əməliyyatı müvəfəqiyyətlə yerinə yetirilmişdir və biz Hədəf Linux cihazın ip adresini yazmaqla birbaşa veb serverinə daxil ola bilərik.

Yönləndirməni ləğv etmək üçün netstat kommandasından əldə etdiyimiz portun proses İD (PİD) kill əmri ilə bitirərək ləğv edilir.
kill 304626
Daha sonra yenidən daxil olmağa çalışırıq və uğursuz olduğunu görürük.

Chisel ilə Dinamik Port yönləndirmə
Chisel ilə dinamik port yönləndirmə — yəni SOCKS proxy yaratmaq — çox güclü və “sneaky” bir texnikasıdır.Chisel aləti Kali Linux cihazına bir-başa yüklü bir şəkildə gəlmir və yükləmək lazımdır.Bundan əlavə həm Linux uyğun versiyası və Windowsa uyğun exe formatlı versiyası mövcuddur.
Bu üsul əsasən SSH vasitəsi ilə əlaqə mövcud olmadıqda istifadə olunur.
Kali Linux cihazına və ya istənilən cihaza (Linux) yükləmək üçün aşağıdakı kommandadan istifadə edə bilərik.Windows cihazlar üçün isə exe versiyası birbaşa yüklənməlidir.
apt install chisel
Chisel alətinin işləmə prinsipi server kliyent prinsipidir və bir cihaz server,digəri isə kliyent rolundadır. Bizim misalımızda Server cihaz server, Kali Linux isə kliyent rolundadır. Gəlin hər birini ayrılıqda konfiqurasiya edək və port yönləndirməsini həyata keçirək.
Server cihazında chisel konfiqurasiyası:
┌──(root㉿SERVER)-[~]
└─# chisel server --socks5 --port 4040
2025/06/09 09:41:09 server: Fingerprint uBsk+dDEeoD5HQ3FuuOXG7s+zD3ulv+AoaZ75DGW7jA=
2025/06/09 09:41:09 server: Listening on http://0.0.0.0:4040
İzahı:
- server — chisel alətini server moda aldığımızı bildirir.
- –socks5 — proxy əməliyyatının socks5 proxy olduğunu bildirir.
- –port 4040 — Digər tərəf olan kliyent chiselin hansı port ilə server bağlanacağını bildirir. (Bu portun firewall tərəfindən bloklanmadığından əmin olun)
Kali Linux cihazında isə chiselin kliyent modunda konfiqurasiya belə edilir:
┌──(root㉿kali)-[~]
└─# chisel client 192.168.20.129:4040 9050:socks
2025/06/09 09:42:25 client: Connecting to ws://192.168.20.129:4040
2025/06/09 09:42:25 client: tun: proxy#127.0.0.1:9050=>socks: Listening
2025/06/09 09:42:25 client: Connected (Latency 5.744998ms)
İzahı:
- client — chiselin kliyent modda istifadə olunacağını bildirir.
- 192.168.20.129:4040 — hədəf chisel serveri və serverdə təyin etdiyimiz port (bizim misalda 192.168.20.129 serverin ip adresi və 4040 portu chisel alətinə biz təyin etdik)
- 9050:socks — Lokalda yaradılacaq socks proxy portunu bildirir.(Bunu biz istəsək /etc/proxychains4.conf redaktə edə bilərik.)
Buradan göründüyü kimi chisel aləti `Connected` yazısı ilə chisel əlaqəsinin uğurlu olduğunu bildirir. Deməli port yönləndirmə əməliyyatı müvəfəqiyyətlə yerinə yetirilmişdir. Yoxlamaq üçün (Dinamik Port yönləndirmə başlığındakı üsullar ilə yoxlaya bilərik).

┌──(root㉿kali)-[~]
└─# proxychains nmap -sT 192.168.1.102 -Pn
[proxychains] config file found: /etc/proxychains4.conf
[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
[proxychains] DLL init: proxychains-ng 4.17
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-09 09:48 EDT
Nmap scan report for 192.168.1.102
Host is up (0.0021s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 16.88 seconds
Dinamik Port yönləndirilməsində olduğu kimi bu port yönləndirmədəd 4040 portu aktivləşdirilmişdir.
┌──(root㉿kali)-[~]
└─# netstat -tupn | grep 4040
tcp 0 0 192.168.20.128:57086 192.168.20.129:4040 ESTABLISHED 372965/chisel
Yönləndirməni ləğv etmək üçün netstat kommandasından əldə etdiyimiz portun proses İD (PİD) kill əmri ilə bitirərək ləğv edilir.
kill 372965
Daha sonra yenidən daxil olmağa çalışırıq və uğursuz olduğunu görürük.

NƏTİCƏ
Son olaraq qeyd edə bilərəm ki, bütün port yönləndirilmələrin bir məqsədə məhdudiyyətdən yayınmaq üçün istifadə olunur. Onları öyrənərkən əzbərçilik etməkdənsə, hər birinin hansı prinsip üzrə işləməsini bilmək daha uyğundur. Beləliklə paylaşımda Rinetd,Chisel və SSH üzərindən port yönləndirmələrinə baxılmışdır.
Əməyə hörmət olaraq aşağıdakı kanalına qoşula bilərsiniz!😊 Ümid varam faydalı olmuşdur! Oxuduğunuz üçün təşəkkürlər!
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Paylaşımların səliqəli yığılmış halı: https://t.me/xakerazgroup
Fikir və şərhləriniz : https://t.me/xakerazchat