commit 371e59c6e07f84669735b47506a231aed49c8583 Author: Miguel Date: Tue Apr 29 07:09:13 2025 -0300 AƱadir Home diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..f791bcf --- /dev/null +++ b/Home.md @@ -0,0 +1,181 @@ +# Network Interface IP Configuration Utility Wiki + +## Table of Contents +- [Overview](#overview) +- [Installation](#installation) +- [Main Components](#main-components) +- [IP Setup Tab](#ip-setup-tab) +- [Tools Tab](#tools-tab) +- [Network Scanning](#network-scanning) +- [Administrator Privileges](#administrator-privileges) +- [Configuration Files](#configuration-files) +- [Troubleshooting](#troubleshooting) +- [FAQ](#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: +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. \ No newline at end of file