+modularized: split into a generic netcat function and an asDetails() func that uses Cymru so that this could be used separately as a module + proper socket error handling