1 Home
Miguel edited this page 2025-04-29 07:09:13 -03:00

Network Interface IP Configuration Utility Wiki

Table of Contents

Overview

The Network Interface IP Configuration Utility is a Python-based desktop application designed to simplify network interface management on Windows systems. It provides an intuitive graphical interface for changing IP addresses, enabling/disabling DHCP, and performing network diagnostics.

Installation

Prerequisites

  • Windows operating system
  • Python 3.6 or higher
  • Administrative privileges (required for changing network settings)

Dependencies

Install the required Python packages:

pip install -r requirements.txt

Optional dependencies (enhanced functionality):

  • pythonping: For improved ping functionality (pip install pythonping)
  • pysnmp: For SNMP functionality (pip install pysnmp)
  • wmi: For improved network interface detection (pip install wmi)
  • mac-vendor-lookup: For MAC address vendor lookup (pip install mac-vendor-lookup)

Running the Application

Run the main script:

python menu-ip-change.py

Main Components

The application is divided into two main tabs:

  1. IP Setup: For configuring network interfaces
  2. Tools: For network diagnostics and scanning

Both tabs share a common log area that displays operation results and informational messages.

IP Setup Tab

Interface Selection

  • Use the dropdown menu to select the network interface you want to configure
  • The current configuration (IP, subnet mask, gateway, and DHCP status) will be displayed

Setting a Static IP

  1. Enter the IP prefix (first three octets) in the "IP Prefix" field
  2. Enter the last octet in the "Last Octet" field
  3. Set the subnet mask (directly or using CIDR notation)
  4. Click "Set Static IP"

Enabling DHCP

  1. Select the network interface
  2. Click "Enable DHCP"

Using IP History

  • Previously used IP addresses are saved in the IP History dropdown
  • Select an entry to quickly configure that IP
  • The application remembers subnet masks for each IP prefix

Quick Actions

  • Restore Previous: Reverts to the previous configuration
  • Refresh Interfaces: Updates the list of available network interfaces
  • Copy buttons: Quick copy of current IP or gateway to clipboard

Tools Tab

Ping Tool

  • Enter an IP address or hostname in the "Target IP/Host" field
  • Click "Ping" to send echo requests
  • Enable "Continuous Ping" to keep pinging until stopped
  • "Last RTT" shows the most recent ping response time
  • Use "Stop" to end continuous pinging

Network Scanner

  • Define an IP range (Start IP, End IP) or use the CIDR field
  • Click "Start Scan" to discover active hosts in the specified range
  • The scan progress bar shows completion status
  • Results appear in the table with IP addresses and ping times
  • Click "Get Host Info" to retrieve hostnames and MAC addresses
  • MAC vendors are automatically identified (when available)

Network Scanning

Scan Process

  1. Define the IP range to scan
  2. Start the scan to discover active hosts
  3. Use "Get Host Info" to gather detailed information about discovered hosts

Scan Results

The scan results display:

  • IP Address
  • Ping time (ms)
  • Hostname (when resolved)
  • MAC Address (when available)
  • MAC Vendor (manufacturer)

Administrator Privileges

Administrator privileges are required to change network settings on Windows. When you attempt to change network settings, the application will:

  1. Launch a separate script with administrator privileges
  2. Execute the appropriate network commands
  3. Log the results

How It Works

The main application (menu-ip-change.py) uses a helper script (ip-changer-admin.py) to execute network configuration commands with elevated privileges. This helper script is launched using the Windows ShellExecuteW API with the "runas" verb.

Configuration Files

The application stores configuration in several JSON files:

ip_config.json

Stores:

  • Last used interface
  • Last used IP prefix
  • Previous configuration (for restore function)
  • Last used subnet mask

ip_history.json

Stores a history of previously used IP addresses and their subnet masks.

ping_targets.json

Stores preferred ping targets for each IP prefix.

Troubleshooting

Common Issues

Unable to Change Network Settings

  • Ensure you have administrator privileges
  • Check the operation log for specific error messages
  • Verify the interface name is correct

Network Scan Not Working

  • Check firewall settings (may block ping/ICMP)
  • Ensure the IP range is correctly specified
  • Try scanning a smaller range

MAC Address Not Found

  • Some devices may not respond to ARP
  • Try using "Get Host Info" to retry MAC detection
  • Some virtualized interfaces won't return MAC addresses

Log Messages

The application maintains a detailed operation log that can help diagnose issues. Common message types:

  • INFO: Informational messages
  • ERROR: Error conditions
  • SUCCESS: Successful operations
  • DISCOVERY: Host discovery during scanning
  • PING: Ping results
  • MAC/HOSTNAME/VENDOR: Device information

FAQ

Q: Does this work on non-Windows systems?

A: No, this application is designed specifically for Windows and uses Windows-specific commands.

Q: Why does it need administrator privileges?

A: Changing network settings on Windows requires elevated privileges for security reasons.

Q: Can I scan large IP ranges?

A: Yes, but scanning large ranges (thousands of IPs) may take a significant amount of time.

Q: How does the continuous ping work?

A: It sends ping requests at regular intervals (approximately once per second) until stopped.

Q: How does the MAC vendor lookup work?

A: The application uses the mac-vendor-lookup library, which contains a database of MAC address prefixes and their corresponding manufacturers.