Files
2025-09-15 12:04:43 +02:00
..
2025-09-15 12:04:43 +02:00
2025-09-15 12:04:43 +02:00

getIps.sh

A bash script that resolves hostnames to their IPv4 and IPv6 addresses using DNS lookups.

Description

This script reads a list of hostnames from an input file and performs DNS lookups to find their corresponding IPv4 and IPv6 addresses. The results are written to an output file in a tab-separated format.

Usage

./getIps.sh <input_file> <output_file>

Arguments

  • input_file: Path to a text file containing hostnames (one per line)
  • output_file: Path where the results will be written

Example

./getIps.sh hosts.txt results.txt

Input Format

The input file should contain hostnames, one per line:

google.com
github.com
stackoverflow.com

Output Format

The output file will contain tab-separated values with the following columns:

hostname    IPv4_address    IPv6_address

Example output:

google.com    142.250.191.14    2a00:1450:4001:80e::200e
github.com    140.82.112.4      N/A
stackoverflow.com    151.101.1.69    N/A

Features

  • Resolves both IPv4 (A records) and IPv6 (AAAA records) addresses
  • Handles empty lines in input file gracefully
  • Shows "N/A" for addresses that cannot be resolved
  • Clears previous output file before writing new results
  • Provides usage information if incorrect arguments are provided

Requirements

  • dig command (part of dnsutils package)
  • Bash shell

Installation

Make the script executable:

chmod +x getIps.sh

Error Handling

  • The script will exit with an error if the wrong number of arguments is provided
  • Empty lines in the input file are automatically skipped
  • DNS resolution failures are handled gracefully (shows "N/A")