Sunday, 16 December 2012

Linux Port numbers

This is bit important post on understanding the ports, their details and numbers.
 
Some FAQ related PORTS
 
Q. What is a port?
A port is piece of software which is used as docking point in your machine, where remote application can communicate. This is analogy to the physical ports for entering in to a country from different sea ports.
 
Q. What is hardware port?
This is physical peripheral connection point to a machine from a physical device.
 
Q. What is a socket?
Socket is combination of software Port+IP address.
 
Q. What is the range of ports or how many ports are there?
Port numbers can vary from 0 to 65535, so total we can get 65536 ports
 
Q. Why port numbers are just 65536?
This is because limitation in TCP/IP stack where the port number field is just 16bit size. So we get only 2^16 ports which are equal to 65536 available ports
 
Q.What are the well-known ports or assigned ports or default ports?
Well known ports are from 0 to 1023(total 2^10=1024 ports)
 
Q.What do you mean by default port?
Default port is a designated port for particular well-known server.
 
Q.Can we change default port for a service(example Apache, squid)?
Yes, we can change. In most apache and DNS we can change this using listen configuration entry in httpd.conf and . Squid have port entry in its squid.conf file to mention port number.
 
Q.What are the protocol numbers for TCP and UDP?
Do not confuse this one with port numbers. TCP and UDP have their own numbers in TCP/IP stack.
TCP protocol number:6
UDP protocol number:17
 
Q. Is there any way I can see all the port information in Linux?
Yes, you can get that from /etc/services files.
 
Q. How can I see open ports in Linux?
Use nmap command. and also netstat command also.

Q.Which port is used by Ping command?

The answer is none.

No ports required for Ping as it uses icmp packets

It needs to allow icmp 'echo-request' (type 8) packets out and icmp 'echo-reply' (type 0) packets in. 


Ping Use ICMP to comminicate and ICMP is a protocol not a service. Hence it does not use a specific port 

FLOW :
ICMP Echo Request
|
Type (8) Code (0)
|

Checksum
|

Identification
|

Sequence
 |

Test Data

 
Well known ports

20 – FTP Data (For transferring FTP data)
 
21 – FTP Control (For starting FTP connection)
 
22 – SSH(For secure remote administration which uses SSL to encrypt the transmission)
 
23 – Telnet (For insecure remote administration
 
25 – SMTP(Mail Transfer Agent for e-mail server such as SEND mail)
 
53 – DNS(Special service which uses both TCP and UDP)
 
67 – Bootp
 
68 – DHCP
 
69 – TFTP(Trivial file transfer protocol uses udp protocol for connection less transmission 
of data)
 
80 – HTTP/WWW(apache)
 
88 – Kerberos
 
110 – POP3(Mail delivery Agent)
 
123 – NTP(Network time protocol used for time syncing uses UDP protocol)
 
137 – NetBIOS(nmbd)
 
138 - NetBIOS


139 – SMB-Samba(smbd)
 
143 – IMAP
 
161 – SNMP(For network monitoring)

162-SNMP Trap

 389 – LDAP(For centralized administration)
 
443 – HTTPS(HTTP+SSL for secure web access)
 
514 – Syslogd(udp port)
 
636 – ldaps(both tcp and udp)
 
873 – rsync
 
989 – FTPS-data
 
990 – FTPS
 
993 – IMAPS
 
1194 – openVPN
 
1812 – RADIUS
 
995 – POP3s
 
2049 – NFS(nfsd, rpc.nfsd, rpc, portmap)
 
2401 – CVS server
 
3000-NTop
 
3306 – MySql
 
3690 – SVN
 
590X-VNC(x=0,1..)
 
6000-6063-X11

1 comment: