Network Interface IP Configuration Utility Wiki
Table of Contents
- Overview
- Installation
- Main Components
- IP Setup Tab
- Tools Tab
- Network Scanning
- Administrator Privileges
- Configuration Files
- Troubleshooting
- FAQ
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:
- IP Setup: For configuring network interfaces
- 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
- Enter the IP prefix (first three octets) in the "IP Prefix" field
- Enter the last octet in the "Last Octet" field
- Set the subnet mask (directly or using CIDR notation)
- Click "Set Static IP"
Enabling DHCP
- Select the network interface
- 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
- Define the IP range to scan
- Start the scan to discover active hosts
- 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:
- Launch a separate script with administrator privileges
- Execute the appropriate network commands
- 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.