Footprinting or Reconnaissance is the process of gathering information about the target before an attack is carried out by a hacker.In a footprinting phase, the hacker will try to collect the maximum amount of information he can about the target which can be useful in an attack such as:
1. Identifying the operating system
2. Scanning ports to detect open ones for exploitation
3. WHOIS queries used to know about registrar information of a particular service.
4. Crawling the web to know more about the target.
5. Collecting phone numbers,email addresses,employee information & other insider information.
In short,footprinting is the first most and an essential phase of penetration testing without which it can be very difficult to perform a hack.
To gather information a hacker can use various tools and techniques which are listed below.