Nmap is a free utility tool for network discovery, port scanning and security auditing, even though we can use it for more than that but in this article we will learn how to do these three things with nmap.
The original author of nmap is Gordon Lyon (Fyodor). Nmap is licensed under GPL v2 and has available ports in many different languages. Nmap is available for Linux, Windows, and Mac OS X. You can download your copy of nmap from their website.
Lets get started with nmap.
When performing pentests we always look for networks we are going to attack. We need to identify live hosts on the network so that we can attack them. There are plenty of tools available for finding live hosts on a network but nmap is one of the best tools for doing this job.
Lets start with simple host (target) discovery scans i,e scans that will tell us which ip address is up on our target network. Those ip addresses which are up on our target network are the ones that are assigned to a device connected on our target network. Every device on the network is going to have a unique ip address.
To perform a simple host discovery scan we use the following command
nmap -v -sn 10.10.10.0/24
flags we used in the above command are
-v for verbose output
-sn to disable port scan (we don't want to scan for ports right now)
Following the flags is the ip address of the target network on which we want to look for live hosts. The /24 at the end of the ip address is the CIDR that specifies the subnet of the network on which we are looking for live hosts.
After running the above command you should get a list of live hosts on your target network.
If you just want to know the list of ip addresses your command is going to scan, you can use the -sL flag of the nmap like this.
nmap -sL 10.10.10.0/24
this command will simply output the list of ip addresses to scan.
We sometimes want to do dns resolution (resolving ip addresses to domain names) when performing our network scans and sometimes we don't want dns resolution. While performing a host discovery scan with nmap if we want to perform dns resolution we use -R flag in our command like this:
nmap -v -sn -R 10.10.10.0/24
And if we don't want to perform dns resolution of hosts during our scan we add the -n flag to our command like this:
nmap -v -sn -n 10.10.10.0/24
After we have discovered the hosts that are up on our target network, we usually put the ip addresses of these hosts into a file for further enumeration.
Next step in our enumeration would be to detect which operating system and which ports are running on these live hosts, for that we run this command:
nmap -O -v 10.10.10.119
here we use -O (capital o not zero) for operating system detection and by default nmap performs SYN Scan for port discovery. However nmap scans for 1000 ports only by default of a particular host.
To make nmap go over a list of ip addresses in a file we use -iL flag like this:
nmap -O -v -iL targetlist
where targetlist is the name of the file which contains ip addresses that we want to perform port scan on.
To make nmap scan all the ports of a target we use the -p flag like this:
nmap -p- -v 10.10.10.121
We can also specify a range of ports using the -p flag like this:
nmap -p1-500 -v 10.10.10.121
here 1-500 means scan all the ports from 1 to 500.
We can use a number of scan techniques to discover open ports on our network but I will only discuss some of them for brevity.
We can perform a TCP SYN scan using nmap with -sS flag like this:
nmap -sS -v 10.10.10.150
We have also flags for TCP connect and ACK scans which are -sT -sA
nmap -sT -v 10.10.10.150
nmap -sA -v 10.10.10.150
We can also perform UDP scan as well instead of TCP scan using -sU flag
nmap -sU -v 10.10.10.150
We can perform TCP Null, FIN, and Xmas scans using the flags -sN, -sF, -sX
nmap -sN -v 10.10.10.150
nmap -sF -v 10.10.10.150
nmap -sX -v 10.10.10.150
If you don't know what these scans are then please visit Port Scanning Techniques and Algorithms for explanation.
After discovering the open ports on our target host, we want to enumerate what services are running on those open ports. To enumerate services and versions information on open ports we use the -sV flag like this:
nmap -sV -v 10.10.10.118
This should give us information about what services are running on what ports and what versions of those services are running on the target host.
nmap has an interesting feature called NSE nmap scripting engine. It allows users to write their own scripts, using the Lua programming language, to automate a wide variety of networking tasks. nmap ships with a diverse set of scripts which are very helpful to enumerate a target. To use the nmap default set of scripts while enumerating the target, we use the -sC flag like this:
nmap -sC -sV -v 10.10.10.118
We can also save the results of our nmap scans to a file using the -o flag like this
nmap -sC -sV -v -oA defaultscan 10.10.10.119
here -oA tells the nmap to output results in the three major formats at once and defaultscan is the name of the file that will be prepended to all the three output files.
This is the end of this short tutorial see you next time.
References:
https://nmap.org/book/scan-methods-null-fin-xmas-scan.html
- Best Hacking Tools 2020
- Best Hacking Tools 2019
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Website Vulnerability
- Hack Tools Download
- Hack Website Online Tool
- Best Pentesting Tools 2018
- Hacker Tools Apk Download
- Tools Used For Hacking
- Hacking Tools For Pc
- Bluetooth Hacking Tools Kali
- Hacker Tools 2019
- Usb Pentest Tools
- Pentest Tools Review
- Hacker Tools Free
- Pentest Tools Nmap
- What Is Hacking Tools
- Hacking App
- Hacking Tools Usb
- Hacking Tools For Windows
- Hack Apps
- Game Hacking
- Pentest Tools Free
- Hacker Tools Online
- Pentest Automation Tools
- Best Hacking Tools 2020
- Hacking App
- Pentest Tools Github
- Hacking Apps
- Pentest Tools Bluekeep
- Hacker Tools 2019
- Bluetooth Hacking Tools Kali
- Hacks And Tools
- Pentest Tools List
- Hacker Tool Kit
- Hack Apps
- Hacking Tools For Windows
- Hacker Techniques Tools And Incident Handling
- New Hacker Tools
- Pentest Tools Linux
- Pentest Tools Free
- How To Install Pentest Tools In Ubuntu
- Nsa Hack Tools
- Hacking Tools 2020
- Hack Tools Mac
- Hacking Tools Free Download
- Pentest Tools For Mac
- Hack Tools
- Tools Used For Hacking
- Hacking Tools Mac
- Pentest Tools Tcp Port Scanner
- Hacks And Tools
- Pentest Reporting Tools
- Hacker Tool Kit
- Pentest Tools Alternative
- Pentest Tools Find Subdomains
- Hack Tools For Games
- Tools For Hacker
- Pentest Tools Linux
- Best Pentesting Tools 2018
- Pentest Tools Linux
- Hacking Tools Name
- Pentest Tools For Windows
- Hack Tools Online
- Hacker Tools
- Hacking Tools Pc
- New Hacker Tools
- Computer Hacker
- Hack And Tools
- Hack And Tools
- Hacker Tools Free Download
- Best Pentesting Tools 2018
- Pentest Tools For Mac
- Hacks And Tools
- Hacker Tools Online
- Beginner Hacker Tools
- Hacking Tools And Software
- How To Install Pentest Tools In Ubuntu
- Growth Hacker Tools
- Pentest Tools Url Fuzzer
- Hack Tools For Games
- Hacking Tools Windows
- Hacker Tools
- Bluetooth Hacking Tools Kali
- Wifi Hacker Tools For Windows
- Hack Apps
- Hacking Tools For Windows 7
- Pentest Automation Tools
- Hack Apps
- Game Hacking
- Free Pentest Tools For Windows
- Hacker Tools Free
- Pentest Tools Url Fuzzer
- Hacker Tools Windows
- Pentest Tools Android
- How To Make Hacking Tools
- Hack Tools For Windows
- Hack Rom Tools
- Hacker Tools 2020
- Hack Tools For Mac
- Hacking Tools And Software
- New Hack Tools
- Pentest Tools Website
- Pentest Recon Tools
- Hacking Tools For Pc
- Hack Tools 2019
- Pentest Tools Windows