PhoneSmith is a Python tool for generating and formatting phone numbers in multiple styles based on one area code. Whether you're working on dialing, data analysis, CTF challenges, or penetration testing. PhoneSmith crafts comprehensive wordlists of phone numbers for a specified area code.
- Generate phone numbers in a variety of formats:
- Plain formats: 123xxxxxxx, 1+123xxxxxxx
- Dashed formats: 123-xxx-xxxx, 1-123-xxx-xxxx
- Parentheses formats: (123) xxx-xxxx, 1 (123) xxx-xxxx
- International formats: +1 123 xxx xxxx
- Shortened local formats: xxxxxxx (local dialing)
- Supports dynamic area code input for flexibility.
- Default output file includes the area code (e.g., 123-wordlist.txt).
- Memory-efficient: Writes generated phone numbers directly to a file without overwhelming system resources.
The wordlists generated by PhoneSmith can be utilized in various security and testing scenarios, including:
- Password Cracking: Use the wordlists with popular tools like:
- John the Ripper for brute force password attacks.
- HashCat for fast, GPU-accelerated hash cracking.
- Penetration Testing: Generate phone number lists for testing phone systems and related infrastructure.
- Data Analysis: Simulate datasets for phone number analysis or system testing.
The phone numbers generated by this tool are purely hypothetical and programmatically generated. They do not represent or reference real-world phone numbers or users. This tool is intended for educational and testing purposes only.
Clone the repository to your local machine:
git clone https://github.com/PiHiker/PhoneSmith.git
cd PhoneSmith
Ensure Python 3.x is installed on your system. If not, download it from python.org.
Run PhoneSmith using the command line:
python3 PhoneSmith.py [area_code] [--output OUTPUT]
- area_code (optional): The 3-digit area code for the phone numbers (e.g., 123). If not provided, the script will prompt you to enter it interactively.
- --output OUTPUT (optional): The output file to save the wordlist. Defaults to <area_code>-wordlist.txt.
-
Generate phone numbers for area code 721 and save to 721-wordlist.txt:
python3 PhoneSmith.py 721
-
Generate phone numbers for area code 456 and save to mylist.txt:
python3 PhoneSmith.py 456 --output mylist.txt
-
Run the script without an area code (interactive prompt):
python3 PhoneSmith.py
Please enter a 3-digit area code: 789
PhoneSmith is crafting phone numbers for area code 789...
Wordlist saved to 789-wordlist.txt
The generated file will contain all possible phone numbers in the specified formats, for example:
1230000000 1+1230000000 1-123-000-0000 (123) 000-0000 +1 123 000 0000 ...
Contributions are welcome! Feel free to fork the project and create a pull request.
PhoneSmith is licensed under the Apache License, Version 2.0. See the LICENSE file for details.