Starting point is a whois lookup, for which you don't need a programme[sic] and don't need to pay anybody.
I'd like to find out who they are
The whois might give you the ISP, but you'd then have to get the ISP to tell you who the user was, for which a warrent issued by an appropriate local authority would be a jolly good start.
Well, you can quite often find out a vague hint as to geographical location, eg if an IP address is owned by an ISP in Botswana there's at least a chance that the user who has that IP address at a particular time is in Botswana ... but you won't do much better than that without a warrant.
how to contact them
Again, start with a warrant.
Or, you could just pay a private detective lots of money and not enquire too closely into the legality of their methods, I suppose.