# Ports आणि नेहमी वापरले जाणारे port numbers

Source: https://ravindrabagale.com/mr/cyber/part-01/ch02-ports-and-protocols-ssh-http-https-ftp-sftp-and/2-1-ports-and-the-well-known-port-list.html
Language: mr (Marathi with English technical terms)

IP म्हणजे building चा address आणि port म्हणजे flat number, असं समजा. Port हा 16-bit number आहे; range 0–65535. तो host वरच्या service/process पर्यंत traffic पोहोचवायला मदत करतो. एकाच server वर web server (80), SSH (22) आणि MySQL (3306) एकाच वेळी चालतात, कारण ते वेगवेगळ्या ports वर listen करतात.

203.0.113.10:443 हे IP आणि port मिळून तयार झालेल्या network endpoint चे उदाहरण आहे. Socket च्या addressing मध्ये असा endpoint आणि transport protocol महत्त्वाचे असतात.

 | Range
 | Name
 | अर्थ

 | 0 – 1023
 | Well-known ports
 | Standard services; Linux वर root किंवा योग्य capability लागते

 | 1024 – 49151
 | Registered ports
 | Applications वापरतात (MySQL, MongoDB, dev servers)

 | 49152 – 65535
 | Dynamic / ephemeral
 | OS ने निवडलेले temporary client ports

0–1023: well-known ports; standard services साठी. Linux वर कमी क्रमांकाच्या ports ला bind करण्यासाठी पारंपरिकपणे root किंवा योग्य capability लागते. 1024–49151: registered ports, जिथे MySQL व इतर applications चे ports येतात. 49152–65535: dynamic/ephemeral range; client connections साठी temporary ports. प्रत्यक्ष OS ची configured ephemeral range वेगळी असू शकते.

हे ports लक्षात ठेवा

 | Port
 | Protocol
 | Service
 | कुठे दिसेल?

 | 20, 21
 | TCP
 | FTP (data, control)
 | जुनं file transfer; plain FTP असुरक्षित

 | 22
 | TCP
 | SSH / SCP / SFTP
 | EC2 ला login, files copy करणे

 | 23
 | TCP
 | Telnet
 | जुना, unencrypted; वापर टाळा

 | 25
 | TCP
 | SMTP
 | Email पाठवणे (AWS वर port 25 ला restrictions असू शकतात)

 | 53
 | UDP/TCP
 | DNS
 | Domain नावाचे records शोधणे

 | 67, 68
 | UDP
 | DHCP
 | आपोआप IP configuration देणे

 | 80
 | TCP
 | HTTP
 | Websites (encryption नाही)

 | 110 / 143
 | TCP
 | POP3 / IMAP
 | Email मिळवणे

 | 443
 | TCP
 | HTTPS
 | TLS वापरणाऱ्या websites

 | 3000
 | TCP
 | Node.js / React dev server
 | Express apps, npm start

 | 3306
 | TCP
 | MySQL / MariaDB
 | Database

 | 3389
 | TCP
 | RDP
 | Windows Remote Desktop

 | 4200
 | TCP
 | Angular dev server
 | ng serve

 | 5000
 | TCP
 | Flask dev server
 | flask run

 | 5432
 | TCP
 | PostgreSQL
 | Database

 | 6379
 | TCP
 | Redis
 | Cache

 | 8000
 | TCP
 | Gunicorn / Django dev server
 | Python apps

 | 8080
 | TCP
 | Alternate HTTP / Tomcat / Jenkins
 | Java apps, proxies

 | 27017
 | TCP
 | MongoDB
 | NoSQL database

Table मधले ports हे defaults किंवा प्रचलित choices आहेत. App वेगळ्या port वर configure करता येतो. FTP file transfer, SSH remote login, DNS नाव शोधण्यासाठी, DHCP IP configuration, HTTP/HTTPS web traffic आणि MySQL/PostgreSQL/MongoDB databases साठी वापरले जातात. POP3/IMAP mail मिळवण्यासाठी, SMTP mail पाठवण्यासाठी, RDP Windows remote desktop साठी आणि Redis cache साठी वापरतात.

कोणते ports उघडे ठेवायचे?

सामान्य public website ला 80 आणि 443 लागतात. SSH साठी 22 हवा असेल तर फक्त trusted source IPs किंवा private access path ला परवानगी द्या. Application ports (3000, 5000, 8080) reverse proxy (Nginx/Apache) च्या मागे ठेवा. Database ports (3306, 27017) 0.0.0.0/0 साठी उघडू नका.

sudo ss -tlnp            # which programs are listening on which TCP ports?
sudo ss -ulnp            # same for UDP
nc -zv 127.0.0.1 22      # is TCP port 22 open locally?

पहिली command listening TCP services, दुसरी UDP services दाखवते. शेवटची command याच machine वर TCP port 22 उपलब्ध आहे का तपासते.

Security मध्ये उपयोग

प्रत्येक उघड्या port च्या मागे एखादी service असते. Port scan ने त्या services शोधल्या जातात; Nmap पुढे Part 10 मध्ये येईल. Defender म्हणून नको असलेले ports बंद करा आणि आवश्यक ports वर source access मर्यादित ठेवा. बाहेरून वापरता येणाऱ्या services हा attack surface चा महत्त्वाचा भाग आहे.

Practice

Table न पाहता SSH, FTP, Telnet, SMTP, DNS, HTTP, HTTPS, MySQL, RDP आणि PostgreSQL चे default ports लिहा. मग स्वतःच्या Linux machine वर sudo ss -tlnp चालवून प्रत्येक listening service ओळखा.

रवींद्र बागले यांची tip

Port number सोबत protocol सुद्धा लक्षात ठेवा. DNS 53 हा UDP आणि TCP दोन्ही वापरतो; DHCP 67/68 UDP वापरतो. Nmap च्या default TCP scan मध्ये UDP services दिसणार नाहीत.
