Port Scan is like trying to open doors in a house to see which ones are locked. The scanner will show you which ports are open on a router or a firewall, and you can use this information to find possible weaknesses on the computer.
What are Ports
When one device connects to another over a network, you need a TCP or UDP port number from 0 to 65535. However, some ports are used more frequently. TCP ports 0 to 1023 are "known ports" used by system services. For example, port 21 is used for FTP file transfers, port 22 is for Secure Shell (SSH) terminal connections, port 80 is a standard port for HTTP traffic, and port 443 is for encrypted HTTPS connections. Thus, when you connect to a web page that has HTTPS, the browser "speaks" to the web server that "listens" from port 443.
Services should not always run on these particular ports because they are something that everyone knows. For example, you could run an HTTPS web server on the 50000 port or a Secure Shell on the 60000 port.
What is Port Scan?
Port Scan is a process of checking all ports in an IP address to see if they are open or closed. The port scanning software will check from the 0 port to the 65535 port. This can be done by sending a request to each port. If the answer means the door is open.
A network firewall can block or eliminate the process, so Port Scan is also a very good method to locate the ports that are accessible or exposed to the network in a remote system.
The tool Nmap is a simple network utility that is used for Port Scan, but there are plenty of scanning tools.
Why Port Scan?
Scans are useful for identifying the vulnerabilities of a system. A Port Scan can tell an attacker which ports are open to a system and this will help him to plot an attack plan. For example, if it found that the Secure Shell (SSH) server on the 22 port, the attacker could try to connect and check the system for weak passwords. In another open port, the attacker can check if there is an error he can exploit. An old software version may have a known security vulnerability.
These types of crawling can also help detect services running on non-default ports. Therefore, if you run an SSH server on the 60000 port instead of the 22 port, Port Scan will disclose it and the attacker could try to connect to SSH from this port. Using a non-default port simply makes things a bit more difficult.
Door detections are not only used by intruders but also for penetration defenses. For example, a company can often scan their systems to determine which services are exposed to the network and to make sure they are securely configured.
Port Scan Is it dangerous?
A Port Scan can help an attacker find a weak spot to attack, but it is the first step. Finding a door open does not mean that it can go through it. However, it can check for vulnerabilities and that is the real danger.
In your home network, you definitely have a router between your computer and the Internet. Someone on the internet is able to scan your router and if he finds something he can not get into your system. The router itself also acts as a firewall unless you have opened individual ports from your router to your device. These ports are exposed on the Internet.
The firewalls of course can be configured to detect port scans and block the traffic from the address that performs the scan.
Port Scan Types
In a Port Scan "TCP full connection", the scanner sends a SYN message (connection request) to a port. If the port is open, the remote system responds with a SYN-ACK message (confirmation). The detector reacts with its own ACK message (confirmation). We are talking about a full TCP connection handshake and the scanner knows that the system is receiving connections to this port.
If the port is closed, the remote system will respond with an RST message. If the remote system simply does not exist on the network, there will be no response.
Some scanners scan "TCP half-open". Instead of going through a full cycle of SYN, SYN-ACK and then ACK, they simply send a SYN and wait for a SYN-ACK or RST response. They do not need to send a final ACK to complete the connection, as SYN-ACK "tells" the scanner everything it needs to know. It's a faster method because fewer packages are needed.
A simple Port Scan is easy to find and the various firewalls can be configured to detect and stop such actions.
This is why some scanning techniques work differently. For example, a Port Scan could detect a few ports or scan all ports but in a much longer time to make it more difficult to locate.