Sure, here's a README in Markdown format explaining your Python information gathering program:
# Information Gathering Program
This Python program is designed to gather information about a given IP address or domain name using various networking tools like `ping`, `nslookup`, `nmap`, `dig`, and `traceroute`.
## Usage
1. Input:
- Run the program and provide an IP address or domain name when prompted.
2. Ping Analysis:
- If an IP address is provided, it checks if it's valid.
- If a domain name is provided, it performs a ping to get information and unique IP addresses associated with it.
3. NSLookup:
- Performs DNS lookups for the provided host, retrieving information about name servers (`ns`) and mail exchange servers (`mx`).
4. Network Tracing:
- Traces the DNS path (`dig +trace`) and network path (`traceroute`) to the provided host.
5. Nmap Scan:
- Prompts the user to choose between scanning all ports or only open ports.
- Executes an `nmap` scan with the chosen options on the provided target.
## Commands and Options
- `Y/y`: Scan all ports or choose specific scanning options.
- `N/n`: Scan only open ports.
## Dependencies
This program relies on the following:
- Python 3
- `subprocess` module for executing shell commands.
- `re` module for regular expressions.
Feel free to adjust and expand upon this template according to your needs!