Well I must admit that I dont like calling external tools either.
when I feel like doing something about this code I will probably redo it with scapy or something along those lines.
Maybe do it manually all the way.
I've setup a test for multithreading this morning , might add that if this works properly.
Depending on connection speed this can increase the speed massively.
Still need to work on the time-outs though, problem is that some devices might be far away, over poor landlines with shitty upload, increasing it will also decrease overall performance.
Threading might circumvent this problem to some extend.