Version two just rolled out of the python sweat shop.
Usage is python pypecia.py -p <port> -r <CIDR range> -t <threads> -h <usage and help>
Threading makes it fast. Like a /20 CIDR network in 10 seconds fast.
CTRL+C is handled nicely now.
IP addresses are scanned randomly to attempt firewall evasion.
The program give a little more feedback now so you know it is working.
On my Kali Linux VM running with more than 256 threads throws an error. But 256 threads?!? I think I can live with that.
pypeciaV2 source code
I got some great feedback on the original code. I made a few of the quick and easy changes and am putting it out with those now. Send in your feedback using email or Twitter, the goal is to have a fast tool that is useful for the info sec community.
Changes in V1:
- Added a start/end messages
- Added progress counters to give better user feedback when scanning large ranges
Changes coming in V2:
- Threading to make it faster in large ranges
- IP randmization to prevent firewalls from blocking the tool due to sequential scans
- Graceful handling of CTRL+C
pypeciaV1 source code
I really like the network scanner propecia. But from the date in the program it was written in 1999. I wanted the same speed and simple use that also included IPv6 checks. My C programming isn’t that great so I decided to port it to python. propecia…pypecia…see what I did there?
The reason I needed to add the additional functionality was to check a firewall for proper rules restricting both IPv4 and IPv6 traffic. Hint, it wasn’t. Having a server in a DMZ locked up tight on the IPv4 interface and unsecured on the IPv6 interface is like locking half of the doors on your car and wondering why things got stolen.
pypecia scans a single port across the given CIDR network range: python pypecia.py -p <port> -r <CIDR range>
pypecia original version source code