11 comments

[ 2.4 ms ] story [ 35.3 ms ] thread
Hello all!

I was sick of waiting for the arp / nmap commands to work single-threaded to find the raspberry pi's on my network.

Also, arp only works for devices you have seen previously, so you could easily miss things.

I posted benchmarks on the readme. Interested in feedback, suggestions, and please pull requests if you want to help improve it. Installs via pip and python 3x only! PS - since I am lazy, it also auto-suggests the network range you are connected to to be the network it searches, so you don't have to type it in.

What nmap command exactly did you use? I understand you can change the number of hosts it scans in parallel, see: https://nmap.org/book/man-performance.html

Not a criticism, just curious.

I thought I posted the command in the readme, nmap -sP. Yeah I remember reading about nmap adding parallelization. According to the link you shared: "By default, Nmap calculates an ever-changing ideal parallelism based on network performance". So my benchmarks are based on comparing against that. I don't know why my implementation is faster, but the three tests I performed show that findpi is faster. I guess because I am forcing more threads than nmap's ever-changing ideal is allocating?
You might want to add `DC:A6:32` to `checker`, see: https://udger.com/resources/mac-address-vendor-detail?name=r...
Thanks, interesting, I was going off of this, I thought, canonical list: https://gist.github.com/aallan/b4bb86db86079509e6159810ae9bd... that only has the one Mac Address on it. I also found a second source to back up the claim that DC:A6:32 should be added as well here: https://dnslytics.com/mac-address-lookup by searching for Raspberry Pi. Thanks for pointing this out!