A simple yet powerful Command Line Interface (CLI) tool designed to batch check the network connectivity (Ping) of multiple IP addresses directly from an Excel file.
What makes this tool stand out is its Intelligent Data Filtering, which automatically strips away "noise" such as Port numbers (:80) or extra notes ((44)) from your IP list.
- Excel Integration: Supports the popular
.xlsxformat powered by the Pandas library. - Smart Regex Filter:
- Auto-clean IP:
192.168.1.1:80➔192.168.1.1 - Ignore annotations:
172.16.0.1 (server)➔172.16.0.1
- Auto-clean IP:
- Stable Pinging: Sends 4 packets per request to ensure accurate results and minimize network jitter errors.
- Real-time Interaction:
- Press [R] to re-read the Excel file and re-scan immediately (perfect for quick updates).
- Press any other key to exit.
- Detailed Reporting: Displays visual result tables and lists all FAILED IPs at the end of the process for quick troubleshooting.
- Python: Version 3.10 or higher.
- Libraries:
pandas,openpyxl.
- Clone the repository:
git clone [https://github.com/ankhang0704/python-ip-checker.git](https://github.com/ankhang0704/python-ip-checker.git)
cd python-ip-checker- Clone the repository:
pip install pandas openpyxl- Input Excel Format
- The application requires an Excel file named danh_sach_ip.xlsx located in the same directory as the script. Data should follow this structure:
-
Ensure danh_sach_ip.xlsx is in the application folder.
-
Run the application using the command:
python pingip.py-
View live results on the Console screen.
-
If you update the Excel file, simply press R to refresh and scan again.
If you want to create a standalone .exe file for computers without Python installed:
- Install PyInstaller:
pip install pyinstaller- Run the build command:
python -m PyInstaller --onefile pingip.py- After completion, find your executable in the folder: dist/pingip.exe.
Any contributions or bug reports are welcome! Please open an Issue or create a Pull Request. Feedback from the community is highly appreciated!
⭐ If this project helped you, please give it a Star on GitHub!